Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur sur code pour faire un zoom

    8 octobre 2008 à 22:19:46

    Bonjour,

    J'ai un code qui permet d'effectuer 3 niveaux de zoom sur un plan en appellant simplement 3 images différentes.
    Ce code fonctionnait très bien sur ma page sans DOCTYPE. Depuis que je suis passé en DOCTYPE strict XHTML 1.0, celui-ci ne fonctionne plus.
    Il doit y avoir une erreur que je ne vois pas.
    Voici le code :
    <script type="text/javascript">
    <!--
    	type = new Array()
    
    	type[0]="large";
    	type[1]="moyen";
    	type[2]="court";
    	
    	niv = new Array();
    
    	
    	for(idx=0; idx < 3; idx++)
    	{
    		niv[idx] = new Image()
    		niv[idx].src = "plan-" + type[idx] + ".gif";
    	}
    
    	function zoomPlan(type)
    	{
    		if (type == "plus")
    		{
    			switch(plan.src)
    			{
    				case niv[0].src :
    				plan.src = niv[1].src;
    				break;
    
    				case niv[1].src :
    				plan.src = niv[2].src;
    				break;
    
    				case niv[2].src :
    				plan.src = niv[2].src;
    				break;
    
    				default :
    				plan.src = niv[0].src;
    				break;	
    			}	
    		}
    
    		else if (type == "moins")
    		{
    			switch(plan.src)
    			{
    				case niv[0].src :
    				plan.src = niv[0].src;
    				break;
    
    				case niv[1].src :
    				plan.src = niv[0].src;
    				break;
    
    				case niv[2].src :
    				plan.src = niv[1].src;
    				break;
    
    				default :
    				plan.src = niv[2].src;
    				break;	
    			}				
    		}
    
    		else if (type == "image")
    		{
    			switch(plan.src)
    			{
    				case niv[0].src :
    				plan.src = niv[1].src;
    				break;
    
    				case niv[1].src :
    				plan.src = niv[2].src;
    				break;
    
    				case niv[2].src :
    				plan.src = niv[0].src;
    				break;
    
    				default :
    				plan.src = niv[0].src;
    				break;	
    			}				
    		}
    	}
    //-->
    </script>
    

    Et le code html :

    <a onclick="javascript:zoomPlan('image');" ><img alt="Cliquer sur l'image pour zoomer" src="plan-large.gif" border="0" name="plan" /></a>
    
    <a Onclick="javascript:zoomPlan('plus');" >augmenter le zoom</a>
    
    <a Onclick="javascript:zoomPlan('moins');" >diminuer le zoom</a>
    


    Quelqu'un saurait-il me dire où çà coince ?

    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      9 octobre 2008 à 14:32:20

      Salut

      Si tu veux parcourir des éléments grace à leurs noms utilise une méthode moins sale (mois très sale jdirais même si ça se dit pas^^) du style document.getElementsByName('nomDeLelement');

      Petit exemple sur ton code :

      case niv[0].src :
      document.getElementsByName('plan')[0].src = niv[1].src;
      break;

      Sinon ben encore mieux puisque tu n'as qu'une seul image utilise document.getElementById('idDeLimage');

      Ce qui donne :

      case niv[0].src :
      document.getElementById('idDeLimage').src = niv[1].src;
      break;

      Tout en sachant que si tu utilise le deuxième il faut que tu mette un id et surtout tu remarqueras que pour la recherche par nom il y a un s à element et par id il n'y en a pas (l'id étant unique)

      Voila
      • Partager sur Facebook
      • Partager sur Twitter

      Erreur sur code pour faire un zoom

      × 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