Question

Cette paix de code fonctionne pour le premier clic. mais il semble ne pas être en mesure d'obtenir de nouveaux ID de clic suivant. l'idée est de montrer une pièce d'une forme et cliquez sur un bouton, il se cache d'abord et montre la deuxième partie. une idée de ce im faire le mal? Je suppose que cela a quelque chose à voir avec « ce », mais je crois comprendre qu'il devrait obtenir l'identifiant du deuxième lien aussi.

        window.addEvent('domready', function() 
            {
            $('page_2').slide('hide');
            $('page_3').slide('hide');
            $('page_4').slide('hide');
            $('page_5').slide('hide');
            var togglePrefix = 'toggle_', boxPrefix = 'page_', emptyPrefix = '';
            var links = $('submit_box').getElements('a');
            links.addEvent('click', function(e)
                {
                e.stop();
                var id = $(this.get('id').replace(togglePrefix,emptyPrefix));
                var id_new = parseInt($(this).get('id').replace(togglePrefix, emptyPrefix)) + 1; 
                var next = ('page_'+id_new);
                var id_old = $(this.get('id').replace(togglePrefix,boxPrefix));
                $(id_old).set('slide', {duration: 'long', transition: 'linear'});
                $(id_old).slide('out');
                $(next).slide('in');
                });
            });

le code html suivant ce schéma:

<div id="page_1">

    <div id="inhalt-gewinn">
      <div id="gewinn_bild"></div>
      <div id="gewinn_form">
          <form id="gewinnspiel" name="gewinnspiel" method="post" action="<?=$_SERVER[PHP_SELF]; ?>">
              <div id="input_box">
                  <div><input type="radio" name="frage1" value="Kamille" /><span>Kamille</span></div>
                  <div><input type="radio" name="frage1" value="Kaktus" /><span>Kaktus</span></div>
                  <div><input type="radio" name="frage1" value="Krokus" /><span>Krokus</span></div>

              </div>
              <div id="submit_box"><a id="toggle_1" class="frage">nächste Frage...</a></div>

      </div>
      <div id="gewinn_werbung"></div>
    </div>
</div>
Était-ce utile?

La solution

Si je comprends l'exemple, vous avez un tas de divs avec id page_1, page_2 et ainsi de suite. Dans chaque div est un div avec l'id « submit_box ». Lorsque vous avez écrit $('submit_box').getElements('a') il ajoutera l'événement qu'à la première cause div un id doit être unique. Vous ne pouvez pas avoir plus d'un élément avec un identifiant unique dans la page. Donc, pour obtenir votre exemple, le travail de changer l'id à un nom de classe et d'utiliser $$ ( « div.submit_box a »).

Autres conseils

L'utilisation de ID's plusieurs fois sur la page en ruine le code! Après avoir fixé cela, il a bien fonctionné

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top