Faire apparaitre et disparaitre des éléments - IE m'énerve !

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 : Faire apparaitre et disparaitre des éléments - IE m'énerve !

par stevelace » 10 oct. 2006, 19:27

Code : Tout sélectionner

<script language="javascript" type="text/javascript"> function galleryShow(GalId){ if (document.getElementById){ curElement = document.getElementById(GalId); } else if (document.all){ curElement = document.all[GalId]; } if(curElement.style.display == 'block'){ curElement.style.display = 'none'; } else if(curElement.style.display == 'none' || curElement.style.display == ''){ curElement.style.display = 'block'; } } </script>

par albat » 10 oct. 2006, 17:19

J'ai essayé le dernier script proposé par Albat mais ça ne marche pas sous Firefox ni sur IE.
Qu'ouis-je ? :afraid:

Y a quelqu'un qui prétendrait qu'un script
écrit par mézigue et débuggé par zeus ne marche pas ??? :shock: :evil:
Quitte tes lunettes et approche... :axe: :lol:

Je confirme que ce script fonctionne parfaitement.
(Il est d'ailleurs en ligne sur l'un de mes sites.)

Mais comme te l'a rappelé zeus,
il ne fonctionnera que si tu l'as adapté comme il faut.

Il te faut donc vérifier que l'objet
que tu veux faire apparaître/disparaître est bien nommé "pasmoi" :

Code : Tout sélectionner

<div id="pasmoi"> ... </div>
ou changer le paramètre "pasmoi" dans ta fonction javascript :

Code : Tout sélectionner

if (isIE) letruc = document.all['machin']; if (isNN6) letruc = document.getElementById("machin"); letruc.style.display = (id==1) ? "block" : "none";

par zeus » 10 oct. 2006, 09:23

J'ai essayé le dernier script proposé par Albat mais ça ne marche pas sous Firefox ni sur IE.
J'espère que tu as compris qu'il fallait remplacer les "pasmoi" par les identifiants de ton site :roll:

J'ai travaillé avec Albat sur ce code hier soir et je peut t'assurer qu'il fonctionne. Sur FF comme sur IE ;)

le copier/coller de code ne mene jamais bien loin [-(

par starkeus » 10 oct. 2006, 09:04

Essaie de nous donner un code plus complet.
Aussi j'ai remarqué qu'IE aime bien que l'on déclare ses variables:

Code : Tout sélectionner

var taVariable
Ton code qui fonctionne maintenant:

Code : Tout sélectionner

<html> <head> <style> </style> <script> function aff(id){ var pasmoi = document.getElementById("pasmoi"); if (id == "1") { pasmoi.style.display = "block"; } else { pasmoi.style.display = "none"; } } </script> </head> <body> <a href="#" onClick="javascript:aff('1');">Cliquez ici</a> <div id="pasmoi" style="background-color: #f00;display: none;">CA MARCHE ! </div> </body> </html>

par zepretender » 10 oct. 2006, 08:53

Bonjour,

Rien ne fonctionne... IE merdoit toujours autant !

J'ai essayé le dernier script proposé par Albat mais ça ne marche pas sous Firefox ni sur IE.

"cet objet ne gère pas cet objet ou cette méthode"

J'ai viré les "javascript" dans mon code "onclick"... Rien à faire non plus.

Le javascript, je n'y comprends vraiment rien mais il me faut absolument réussir ça...

Merci pour votre aide !

par albat » 09 oct. 2006, 23:10

Et avec ceci ?...

Code : Tout sélectionner

function aff(id) { isIE = (document.all); isNN6 = (!isIE) && (document.getElementById); if (isIE) pasmoi = document.all['pasmoi']; if (isNN6) pasmoi = document.getElementById("pasmoi"); pasmoi.style.display = (id==1) ? "block" : "none"; // pas de "" autour du 1 et un p'tit opérateur ternaire en prime ! }

Re: Faire apparaitre et disparaitre des éléments - IE m'éner

par Truc » 09 oct. 2006, 17:50

Supprime le "javascript" de l'événement onclick...

Code : Tout sélectionner

<a href="#" onclick="aff('1');">Cliquez ici</a>
tu peux éventuellement le placer la même chose mais dans l'attribut "href" :

Code : Tout sélectionner

<a href="javascript:aff('1');" >Cliquez ici</a>

Reponse

par younes475 » 09 oct. 2006, 16:17

voici un scipt realsé par ajax,
je pense que tu dois mettre , visible et hidden

Code : Tout sélectionner

<script> var saveHeight; var showing = true; function toggleSlide() { if ( showing ) { slideMenuUp(); showing = false; } else { slideMenuDown(); showing = true; } } function slideMenuUp() { var menu = $('demosMenu'); saveHeight = menu.offsetHeight; menu.style.overflow = "hidden"; new Rico.Effect.Size( menu, null, 1, 120, 8 ); $('demoPanelLink').innerHTML = "Show demo panel"; } function slideMenuDown() { var menu = $('demosMenu'); new Rico.Effect.Size( menu, null, saveHeight, 120, 8, {complete:function() { $(menu).style.overflow = "visible"; }} ); $('demoPanelLink').innerHTML = "Hide demo panel"; } </script>
bon courage

par starkeus » 09 oct. 2006, 13:34

Bon j'imagine que ta balise a bien un id 1? :)
Ensuite essaie en donnant une valeur au display: block ou inline, au lieu de ne rien mettre.

Faire apparaitre et disparaitre des éléments - IE m'énerve !

par zepretender » 09 oct. 2006, 10:34

Bonjour,

Je souhaite faire un script simplissime :

En cliquant sur un lien, on fait apparaitre une balise DIV.

Pour cela je fais un lien "cliquez ici" avec

Code : Tout sélectionner

<a href="#" onClick="javascript:aff('1');">Cliquez ici</a>
La fonction aff() est la suivante :

Code : Tout sélectionner

function aff(id){ pasmoi = document.getElementById("pasmoi"); if (id == "1") { pasmoi.style.display = ""; } else { pasmoi.style.display = "none"; } }
Malheureusement, il y a des erreurs avec IE alors que Firefox n'a aucun souci. Que faire ? Merci