begin process at 2010 03 16 11:47:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Javascript et ActiveX

 > 

Autre

 > 

Menu déroulant, problème de lien !


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Menu déroulant, problème de lien !

vendredi 27 juin 2008 à 17:10:13 | Menu déroulant, problème de lien !

tweeterdk

Bonjour
Je suis entrain de réaliser un menu, et j'ai quelques petits problèmes :
J'utilise ce script :

<script type="text/javascript">

if(!window.Node){
  var Node = {ELEMENT_NODE : 1, TEXT_NODE : 3};
}

function checkNode(node, filter){
  return (filter == null || node.nodeType == Node[filter] || node.nodeName.toUpperCase() == filter.toUpperCase());
}

function getChildren(node, filter){
  var result = new Array();
  var children = node.childNodes;
  for(var i = 0; i < children.length; i++){
    if(checkNode(children[i], filter)) result[result.length] = children[i];
  }
  return result;
}

function getChildrenByElement(node){
  return getChildren(node, "ELEMENT_NODE");
}

function getFirstChild(node, filter){
  var child;
  var children = node.childNodes;
  for(var i = 0; i < children.length; i++){
    child = children[i];
    if(checkNode(child, filter)) return child;
  }
  return null;
}

function getFirstChildByText(node){
  return getFirstChild(node, "TEXT_NODE");
}

function getNextSibling(node, filter){
  for(var sibling = node.nextSibling; sibling != null; sibling = sibling.nextSibling){
    if(checkNode(sibling, filter)) return sibling;
  }
  return null;
}
function getNextSiblingByElement(node){
        return getNextSibling(node, "ELEMENT_NODE");
}

// Menu Functions & Properties

var activeMenu = null;

function showMenu() {
  if(activeMenu){
    activeMenu.className = "";
    getNextSiblingByElement(activeMenu).style.display = "none";
  }
  if(this == activeMenu){
    activeMenu = null;
  } else {
    this.className = "active";
    getNextSiblingByElement(this).style.display = "block";
    activeMenu = this;
  }
  return false;
}

function initMenu(){
  var menus, menu, text, a, i;
  menus = getChildrenByElement(document.getElementById("menu"));
  for(i = 0; i < menus.length; i++){
    menu = menus[i];
    text = getFirstChildByText(menu);
    a = document.createElement("a");
    menu.replaceChild(a, text);
    a.appendChild(text);
    a.href = "http://www.google.com";
    a.onclick = showMenu;
    a.onfocus = function(){this.blur()};

  }
}

if(document.createElement) window.onload = initMenu;
</script>

Ensuite, je possède des menu ainsi :
<ul id="menu">
  <li><a href="monsite.php" target="mainFrame" >Qui sommes nous ?</a>
    <ol>
      <li><a href="#"> Sub Item 2.1</a></li>
      <li><a href="#">Sub Item 2.2</a></li>
      <li><a href="#">Sub Item 2.3</a></li>
    </ol>
  </li>
</ul>


Voila mon problème : J'aimerais pouvoir, quand le visiteur clique sur le mot : Quoi de neuf, qu'apparaisse dans ma mainFrame la page "monsite.php" et qu'a ce moment là le menu se déroule.
Malheureusement, c'est soit le menu se déroule sans que le lien ne s'ouvre, soit le lien s'ouvre mais le menu ne se déroule pas

Avez-vous une solution ???

Merci infiniment pour votre aide !



Cette discussion est classée dans : menu, function, return, node, filter


Répondre à ce message

Sujets en rapport avec ce message

ouverture d'une page dans la meme fenetre à l'aide d'un menu plan javascript [ par doktr ] J'ai un petit souci avec un menu dans l'une de mes pages web.En cliquant sur un carré, celui-ci s'éclate et d'autres carrés apparaissent. Chacun de ce Menu déroulant [ par helenecule ] Bonjour, je souhaite créé un menu déroulant. Voici mon script :Entre les balises head j'ai une fonction javascript : <FONT problème pour resté sur un formulaire URGENT!!! [ par romiain ] function verifnom(){if (document.formu.nom.value.length == 0){alert("Entrez votre nom!");return false;}return true;}Bonjour à tous,Ma question est la question javascript [ par yvonD ] Bonjour,Je viens de tester le code ci-dessous contenu ds un fichier menu.jsfunction new_window() {xyz="open('index.html', 'new', 'width=300,height=150 Simplissime : Horloge imprécise [ par jy2m ] Bonjour,Je ne connais rien en Javascript, simplement j'ai trouvé un script anglais d'horloge imprécise et je l'ai un peu changé pour l'adapter en fran Probleme de code [ par Orpheus57 ] Voila le code que j'ai récupéré...Je tente de le comprendre seulement cela me parait assez confus/** * SWFObject v1.4: Flash Player detection and embe recupérer le code html d'une selection [ par caviar ] Saluté ! j'ai un petit pb tout bête ...j'aimerai récupérer le code html selectionné lorsqu'un utilisateur fait un surlignage sur ma page ...par exempl menu déroulant (sfhover function) [ par hindo84 ] Bonjour,J'utilise la fonction sfhover pour faire dérouler mon menu au passage de la souris.sfHover = function() {<font color="#0000ff Pb avec un script (menu deroulant vertical) sur IE [ par batmkana ] Bonjour, J'ai un soucis avec un script qui fonctionne sur Firefox, et quelques version d'IE, mais pas les dernières (7. ...)Voici le script :/*======= Problème pour appeler une fonction en javascript [ par Joke758 ] J'essaie d'appeler la fonction AM.PassportEncrypt.EncryptData("test1", null, "pwd", null) mais je ne sais pas pourquoi ça ne fait rien..voici ma sourc


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,218 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales