MooToolsは、イベントの問題をクリックしてください
-
25-09-2019 - |
質問
このコードの平和は、最初のクリックのために動作します。しかし、次のクリックから新しいIDを取得することができないようです。その背後にある考え方は、フォームの一枚を示し、それは第一および第二部のショーを隠しボタンをクリックするだけですることです。間違っているイム何を任意のアイデア? 私はそれが「この」が、私の理解から、それはまた、第2のリンクからIDを取得する必要があります。
とは何かを持っていると思います 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>
解決
私は例を理解していれば、
は、あなたは、ID PAGE_1、page_2などをdiv要素の束を持っています。すべてのdiv要素のid「submit_box」とdiv要素です。あなたが$('submit_box').getElements('a')
を書いたときIDが一意である必要があります原因それだけで最初のdivにイベントを追加します。あなたは、ページ内の一意のIDでもっと、1つの要素を持って傾けます。だから、クラス名と使用$$(「div.submit_box A」)にあなたの例の仕事の変化IDを取得します。
他のヒント
はページ上ID's複数回の使用はコードを台無しに! これを固定した後、それは罰金を働いていた。
所属していません StackOverflow