Problème avec un menu déroulant

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème avec un menu déroulant

par Freeman014 » 07 mai 2005, 09:50

Voila le code :wink: .

Code : Tout sélectionner

<script language=JavaScript> self.onError=null; currentX = currentY = 0; whichIt = null; lastScrollX = 0; lastScrollY = 0; NS = (document.layers) ? 1 : 0; IE = (document.all) ? 1: 0; if(IE) document.all.horse.style.pixelTop = document.body.clientHeight - 25; if(NS) document.horse.top = document.body.clientHeight - 25; function heartBeat() { if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; } if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; } if(diffY != lastScrollY) { percent = .1 * (diffY - lastScrollY); if(percent > 0) percent = Math.ceil(percent); else percent = Math.floor(percent); if(IE) document.all.slide.style.pixelTop += percent; if(NS) document.slide.top += percent; if(IE) document.all.horse.style.pixelTop = document.body.clientHeight - 25 + document.all.slide.style.pixelTop; if(NS) document.horse.top = document.body.clientHeight - 25 + document.slide.top; lastScrollY = lastScrollY + percent; } if(diffX != lastScrollX) { percent = .1 * (diffX - lastScrollX); if(percent > 0) percent = Math.ceil(percent); else percent = Math.floor(percent); if(IE) document.all.slide.style.pixelLeft += percent; if(NS) document.slide.left += percent; lastScrollX = lastScrollX + percent; } } function checkFocus(x,y) { var totalY, totalX; floatx = document.slide.pageX; floaty = document.slide.pageY; floatwidth = document.slide.clip.width; floatheight = document.slide.clip.height; if(20 == 0) totalY = floatheight; else totalY = 25; if(0 == 0) totalX = floatwidth; else totalX = 0; if( (x > floatx && x < (floatx+totalX)) && (y > floaty && y < (floaty+totalY))) return true; else return false; } function grabIt(e) { if(IE) { whichIt = event.srcElement; while (whichIt.id.indexOf("slide") == -1) { whichIt = whichIt.parentElement; if (whichIt == null) { return true; } } whichIt.style.pixelLeft = whichIt.offsetLeft; whichIt.style.pixelTop = whichIt.offsetTop; currentX = (event.clientX + document.body.scrollLeft); currentY = (event.clientY + document.body.scrollTop); if(20 == 0) totalY = whichIt.style.pixelHeight; else totalY = 20; if(0 == 0) totalX = whichIt.style.pixelWidth; else totalX = 0; if(!(event.clientX > whichIt.offsetLeft && event.clientX < whichIt.offsetLeft + totalX) || !(currentY > whichIt.offsetTop && currentY < whichIt.offsetTop + totalY)) whichIt = null; } else { window.captureEvents(Event.MOUSEMOVE); if(checkFocus (e.pageX,e.pageY)) { whichIt = document.slide; FloatTouchedX = e.pageX-document.slide.pageX; FloatTouchedY = e.pageY-document.slide.pageY; } } return true; } function moveIt(e) { if (whichIt == null) { return false; } if(IE) { newX = (event.clientX + document.body.scrollLeft); newY = (event.clientY + document.body.scrollTop); distanceX = (newX - currentX); distanceY = (newY - currentY); currentX = newX; currentY = newY; whichIt.style.pixelLeft += distanceX; whichIt.style.pixelTop += distanceY; if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop; if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft; if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20; if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5; event.returnValue = false; } else { whichIt.moveTo(e.pageX-FloatTouchedX,e.pageY-FloatTouchedY); if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset; if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset; if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17; if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17; return false; } return false; } function dropIt() { whichIt = null; if(NS) window.releaseEvents (Event.MOUSEMOVE); return true; } if(NS) { window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN); window.onmousedown = grabIt; window.onmousemove = moveIt; window.onmouseup = dropIt; } if(IE) { document.onmousedown = grabIt; document.onmousemove = moveIt; document.onmouseup = dropIt; } if(NS || IE) action = window.setInterval("heartBeat()",1); </script> <SCRIPT language=javascript type=text/javascript> s="na";c="na";j="na";f=""+escape(document.referrer) </SCRIPT>

par Gentoo Warrior » 06 mai 2005, 14:37

Si ton code d'affichage n'est pas trop volumineux, poste-le toujours, on pourra regarder pour essayer de trouver une solution.

par Invité » 06 mai 2005, 14:29

a ca c'est embêtant je ne vois pas comment l'adapter a Opéra :?

par Gentoo Warrior » 06 mai 2005, 14:20

Je n'ai plus vus d'erreur sur IE et FireFox , c'est nickel :wink:

Par contre opéra, la version 8 pour ma part, le menu Partenaires ne s'affiche pas!!!!

voici le message d'erreur avant de planter complètement opera :roll:

Image

par Freeman014 » 06 mai 2005, 12:20

A je viens d'installer Opera (7.54) et en faite le sous menu "Partenaire" apparait en dessous de mon iframe qui est au milieu, là ou il y a marquer "Bientôt le site de cts !".
Je ne vois pas comment faire pour se genre de problème.

par Freeman014 » 06 mai 2005, 11:53

Ben voila je pense que j'ai réglé toutes les erreurs si il y en a encore ben dite le moi. Maintenant ca marche sous IE et sous Firefox par contre je ne sais pas sous Opere mais ca devrait etre bon.

Merci pour tout.

par Gentoo Warrior » 06 mai 2005, 01:36

Salut Freeman014,

Je ne sais pas si tu as remarqué, mais avec FireFfox il y a un léger décalage et avec Opéra le menu Partenaires ne s'affiche pas.

En plus de ça, active l'affichage des erreurs de script dans Internet Exploreur, tu vas être surprit.

Outils->Otpions Internet->Avancé->Navigation et cocher Afficher une notification de chaque erreur de script

C’est juste des remarques et nullement des critiques ici. :wink:

par Freeman014 » 06 mai 2005, 00:11

Merci c'est bon j'ai pu régler mon problème :D

par Cyrano » 05 mai 2005, 20:47

Ton menu dynamique doit être en position absolue par rapport à la page au lieu d'être en relatif par rapport au titre du menu concerné.

Mais là, c'est dans le JavaScript, je suis pas spécialiste.

par Freeman014 » 05 mai 2005, 20:33

Oui je m'excuse vraiment pour le message de fin.

Re: Problème avec un menu déroulant

par albat » 05 mai 2005, 19:45

Pssst... Cyrano... Il y a un Bonjour... :oops:
En revanche, le "Merci de me répondre vite" est totalement inapproprié et déplacé.

Soyons clairs : Les membres de ce forum sont tous volontaires et bénévoles,
et on ne formule pas d'exigences envers des gens qui fonctionnent à la bonne volonté.
C'est le plus sûr moyen de se retrouver à se démerder tout seul.

Considérons l'incident clos.
Malheureusement, Freeman014, tu n'es pas le premier à commettre ce genre de dérapages
et c'est quelque chose que nous avons du mal à supporter et ne pouvons plus laisser passer.

par Freeman014 » 05 mai 2005, 19:41

Désolé pour le message de fin et pour le bbcode je ne savais pas. Sinon pour le bonjour il y était.

Re: Problème avec un menu déroulant

par Cyrano » 05 mai 2005, 19:27

Merci de me répondre vite.
J'adore ce genre de message. Même pas un bonjour pour commencer et faudrait qu'on réponde vite. Un dessert avec ça ?

Hé, le comique, on est pas payé ici, on est tous des bénévoles et on te doit rien? tu as des problèmes de mise en page ? fais donc preuve d'un minimum d'humilité et reconnais que tu as besoin d'aide au lieu d'arriver en pays conquis.

Et si tu peux pour tes prochains messages, active les bbCodes, on aura des url clicables.
Merci

Problème avec un menu déroulant

par Freeman014 » 05 mai 2005, 19:21

Bonjour, voila je fais des testes sur un site pour un menu déroulant.

adresse : [url]http://cts.soissons.free.fr[/url]

Quand la fenêtre du navigateur est en grand , il n'y a pas de problème, tout est bien aligné (je veux dire en dessous du menu socièté ou partenaires) mais lorsque je raptisse la fenêtre du navigateur ben le menu déroulant n'est plus ne dessous de son titre.

Comment faire pour régler se problème.

Merci de me répondre vite.