[DOM Scripting] Afficher/masquer des images, problème avec un return false

Salut,

Je suis en train de faire un script qui permet d’afficher un nombre fixe d’images dans un bloc, avec un lien pour afficher le reste d’images s’il y en a.
Ca marche plus ou moins, à part que le lien normal est quand même suivi, malgré le return false, donc ça recharge les pages et les images ne sont visibles qu’une fraction de secondes.

Voilà le code :

[code]

showImages
Toutes les images [/code] [url="http://64k.be/download/showImages/"]La page en question[/url]

J’ai dû faire un truc de travers, mais je ne vois pas où

Merci

Avec ton code, j’ai une erreur dans ma console Javascript, disant que ‘images’ ligne 11 n’est pas définie. C’est bizarre puisque malgré ça je vois quand même les images s’afficher le temps d’un dixième de seconde. C’est peut-être au rechargement de la page, en fait.

Bref, il faut que tu récupères ton tableau images dans ta fonction showImages() comme dans hideImages(), en reprenant var viewAllImages = document.getElementById("viewAllImages"); // le lien pour afficher toutes les images var imagesContainer = document.getElementById("imagesContainer"); // le bloc contenant les images var images = imagesContainer.getElementsByTagName("img"); // récuperation des tags img contenus dans imagesContainer

Chez moi ça fonctionne correctement avec cet ajout :P.

Pour le lien mets “#” dans le href de ta balise

sur un évenement onclick, tu n’as pas besoin de faire de return(false). Ce n’est pas comme si tu scriptais le href dudit lien. Par contre comme dit girafologue, tu as besoin d’un # dans le href.

[quote]Cil’ date=’ 24 Jun 2006, 09:09’ post=‘483310’]
sur un évenement onclick, tu n’as pas besoin de faire de return(false). Ce n’est pas comme si tu scriptais le href dudit lien. Par contre comme dit girafologue, tu as besoin d’un # dans le href.[/quote]

Il me semble que le return false sur le onclick est nécessaire si on a justement spécifié un href (ce qui n’est pas le cas ici) au cas ou je javascript serait désactivé, non?

Par exemple pour l’ouverture d’une popup (saymal), on peut placer le href correspondant au contenu de la popup en faisant ouvrir cette popup via le onclick qui return false. Ce qui permet, entre autre, de copier l’adresse du lien, l’ouvrir dans un nouvel onglet, savoir où il nous emmène …

Effectivement, le “return false;” sert à empècher l’évaluation du href. C’est très utile par exemple pour les liens chargeant du contenu en utilisant Ajax : Si Javascript est activé, le contenu est chargé en utilisant la requete Ajax sans rafraichissement de page, si il est désactivé (ou si le lien est parcouru par un moteur de recherche), une nouvelle requete est émise par le navigateur. Un petit exemple de cette astuce (très utile pour le référencement google) sur le site de Wygwam