Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Menu déroulant, problème de lien ! [ Javascript et ActiveX / Autre ] (tweeterdk)

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é 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

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.