Вопрос

Этот мир кода работает на первый клик. Но, похоже, не сможет получить новый идентификатор от следующего клика. Идея позади этого состоит в том, чтобы показать одну часть формы и щелкнуть на кнопку, которая она скрывается сначала и показывает вторую часть. Любая идея, что я делаю не так? Я думаю, что это есть что делать с «этим», но от моего понимания он должен также получить удостоверение личности от второй ссылки.

        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');
                });
            });

HTML следует этому шаблону:

<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>
Это было полезно?

Решение

Если я понимаю пример, у вас есть куча DIV с ID Page_1, Page_2 и так далее. В каждом деввере есть div с идентификатором "adit_box". Когда вы написали $('submit_box').getElements('a') Он добавит событие только для первого DIV-причина, которую идентификатор должен быть уникальным. У вас нет более одного элемента с уникальным идентификатором на странице. Итак, чтобы получить ваш пример работы, измените идентификатор в классное значение и используйте $$ ('div.submit_box a').

Другие советы

Использование идентификатора несколько раз на странице разрушила код! После исправления это работает нормально

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top