11496 sujets

JavaScript, DOM et API Web HTML5

Bonsoir,

Mon problème n'est pas nouveau et les réponses sont aussi nombreuses que différentes. Cependant j'ai quand même un petit souci avec le code ci-dessous.

Mon but est de masquer toutes les DIV, identifiées par un ID, d'une DIV principale, elle aussi sous un ID.
J'ai ensuite un slideshow comprenant des images comprenant des liens. Ces liens n'ont qu'une fonction : déclencher un code JQUERY.

Ce code affiche un bloc lié à l'image cliquée (le bloc en question est une des DIV masquées auparavant).

Le code ci-dessous fonctionne à merveille (mais pas pratique étant donné que le nombre d'éléments est liés à base SQL) :

$(document).ready(function(){
                // MASQUE LES BLOCS A L'OUVERTURE PAGE
		$('#bloc_zoom_chocolat').css('display','none');
		$('#bloc_zoom_eglantine').css('display','none');
		$('#bloc_zoom_fraise').css('display','none');
		$('#bloc_zoom_framboise').css('display','none');
		$('#bloc_zoom_vanille').css('display','none');
		$('#bloc_zoom_nature').css('display','none');
		$('#bloc_zoom_marron').css('display','none');
		$('#bloc_zoom_mangue').css('display','none');
                // FONCTION DECLENCHEE PAR UN CLIC SUR IMAGE
		$('.lien_parfum_zoom').click(function(){
			$('#bloc_zoom_chocolat').css('display','none');
			$('#bloc_zoom_eglantine').css('display','none');
			$('#bloc_zoom_fraise').css('display','none');
			$('#bloc_zoom_framboise').css('display','none');
			$('#bloc_zoom_vanille').css('display','none');
			$('#bloc_zoom_nature').css('display','none');
			$('#bloc_zoom_marron').css('display','none');
			$('#bloc_zoom_mangue').css('display','none');
			var $div_parfum='#bloc_'+($(this).children('img:first').attr('class'));
			$($div_parfum).css('display','block');
		});
	});


Mais pas ce code :

$(document).ready(function(){
		$('#contenu_parfum_zoom div').css('display','none');
		$('.lien_parfum_zoom').click(function(){
			$('#contenu_parfum_zoom div').css('display','none');
			var $div_parfum='#bloc_'+($(this).children('img:first').attr('class'));
			$($div_parfum).css('display','block');
		});
	});


Quelqu'un aurait une idée du pourquoi ? Merci