ulmo22
Messages postés11Date d'inscriptionmercredi 10 octobre 2007StatutMembreDernière intervention21 juillet 2010
-
9 juil. 2010 à 17:34
ulmo22
Messages postés11Date d'inscriptionmercredi 10 octobre 2007StatutMembreDernière intervention21 juillet 2010
-
15 juil. 2010 à 10:48
Bonjour
Je viens poser ma question ici , en espérant que j'aurais une réponse. Je suis tout nouveau en javascript et j'ai un petit problème . J'ai créer des menu select sur ma page html , que j'ai personnalisé grâce a javascript . A mes selects j'ai rajouté pour certain une scrollbar directement avec le css (overflow:auto) .Maintenant j'ai mis chacun de mes select dans une div differentes pour chacun . Les un en dessous des autres, En definissant une hauteur suffisante pour quel puisse afficher le contenu du select . Mais lorsque que je clique sur un select celui se deroule derrière les autres selects . Par exemple en prenant le code ci dessous , lorsque je clique sur menu deroulant 1 , son contenu (commercial,rooms,... ,)s'affiche derrière mon menu deroulant 2. J'ai mis mes div en absolue et essayer de joué avec le z-index mais rien y fait . Quel peut-il m'aider . Merci beaucoup.
Menu deroulant 1
Commercial
Rooms
Short-term
Menu deroulant 2
Apartment
Flat
House
Other
Site
Studio/Bedsit
// = 0) {
selectMe(ul.childNodes[this.prev]);
}
break;
// next
case 39: // right
case 40: // down
if (this.next < ul.childNodes.length) {
selectMe(ul.childNodes[this.next]);
}
break;
// goto the beginning of the list
case 33: // page up
case 36: // home
selectMe(ul.firstChild);
break;
// goto the end of the list
case 34: // page down
case 35: // end
selectMe(ul.lastChild);
break;
}
};
obj.parentNode.insertBefore(ul, obj);
}
function selectMe(obj) {
var lis = obj.parentNode.getElementsByTagName('li');
for (var i = 0; i < lis.length; i++) {
if (lis[i] != obj) {
lis[i].className = '';
lis[i].onclick = function () {
selectMe(this);
};
} else {
setVal(obj.selectID, obj.selIndex);
obj.className = 'selected';
obj.parentNode.className =
obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
obj.onclick = function () {
obj.parentNode.className += ' selectOpen';
this.onclick = function () {
selectMe(this);
};
};
}
}
}
function setVal(objID, val) {
var obj = document.getElementById(objID);
obj.selectedIndex = val;
}
function setForm() {
var s = document.getElementsByTagName('select');
for (var i = 0; i < s.length; i++) {
selectReplacement(s[i]);
}
}
window.onload = function () {
(document.all && !window.print) ? null : setForm();
};
J'ai directement pris le code sur une source pour le java , peut être que c'est de la que viens le problème.
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 12 juil. 2010 à 18:17
Bonjour,
je ne voyais pas cela comme ça mais plutôt en partant du script de ton premier post, un truc du style
var MaxIndex = 1000; // zIndex a top en global ici
function selectReplacement(obj) {
obj.className += ' replaced';
var ul = document.createElement('ul');
ul.className = 'selectReplacement';
ul.style.zIndex = MaxIndex--; // affectation puis decrementation pour suivant
//...le reste du code
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 9 juil. 2010 à 19:47
Bonjour,
j'ai mis mes div en absolue et essayer de joué avec le z-index mais rien y fait d'après ce que je vois ce n'est pas sur les DIVs qu'il faut mettre le z-Index mais sur les ULs, le DIV ne s'étirant pas.
;O)
Vous n’avez pas trouvé la réponse que vous recherchez ?