Partage
  • Partager sur Facebook
  • Partager sur Twitter

Reprise de code JS

et tentative de modification

    28 octobre 2008 à 16:45:33

    Blop le monde

    Je tente actuellement de reprendre un script, je vais tenter de vous expliquer ce que je voudrais faire.

    echo '<div id="famille'.$famille['id_familleProduits'].'" class="nom_famille" onclick="javascript:cleanerProduit();reduire('.$famille['id_familleProduits'].');">
    						<ul><li>'.$famille['nom_familleProduits'].'</li></ul>
    				     </div>';
    


    Ce code permet d'afficher le nom de la famille et comporte 2 fonctions JS permettant de dérouler un menu affichant ensuite un DIV avec les produits de la dite famille.

    function reduire(idDiv)
    {
    	$('#div' + idDiv).animate({height: 'toggle', opacity: 'toggle'}, "slow");
    	//$("p").animate({height: 'toggle', opacity: 'toggle'}, "slow");
    }
    function afficher(idDiv)
    {
    	$('#div' + idDiv).slideDown("normal");
    }
    
    function cleaner()
    {
    	$(document).ready(function()
    	{
    		$("textarea").each(function()
    		{
    			var textarea = $(this);
    			var id = $(this).attr("id");
    			var value = document.getElementById('' + id + '').value;
    			if(textarea.attr("id").substring(0,8) == "textarea" && value == "")
    			{
    				var divParent = $('#' + id).parent();
    				var idDiv = divParent.attr("id");
    				var longueur = idDiv.length;
    				idDiv = idDiv.substring(3,longueur);
    				reduire(idDiv);
    			}
    		});
    	});
    }
    //var afficher = null;
    function cleanerProduit()
    {
    	$(document).ready(function()
    	{
    		$("div").each(function()
    		{
    			var div = $(this);
    			var id = div.attr("id");
    			var debut = id.substring(0,3);
    			if(debut == "div")
    			{
    				var longueur = id.length;
    				var idDiv = id.substring(3,longueur)
    				var display = div.css("display");
    				var longueur = id.length;
    				
    /*				console.log("                ");
    				console.log("idDiv = " + idDiv);
    				console.log("display = " + display);
    				console.log("                ");
    */				
    				if(display == "block")
    				{
    					reduire(idDiv);
    				}
    				else if(display == "none")
    				{
    					;
    				}
    			}
    		});
    		//afficher = idDiv;
    	});
    }
    


    Le site fonctionne de la façon suivante : on ouvre la page "Familles", on clic sur une famille ce qui ouvre le DIV et affiche les produit. On clic sur un produit et la page "Produit" s'affiche (normal).

    J'interviens ici : dans cette page je prend l'ID du produit et je le met dans une variable de session. Si l'utilisateur revient sur la page famille, l'ID est récupéré et stocké pour être comparé avec l'affichage des familles.

    SOUCIS ---> JE veux pouvoir afficher directement le bloc de la famille dont dépend le produit. J'arrive correctement à faire la requête pour récupérer la famille correspondant au produit mais je n'arrive pas à forcer l'ouverture du DIV des produits correspondant à la famille.

    Compris? une idée?
    • Partager sur Facebook
    • Partager sur Twitter

    Reprise de code JS

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown