MooTools的点击事件问题
-
25-09-2019 - |
题
这样的代码和平适用于第一次点击。但随后似乎不能够从明年点击获取新的ID。其背后的想法是要表明一种形式的单件,并用点击它第一隐藏一个按钮,并示出了第二部分。任何想法什么即时做错了什么? 我猜它是与“此”但是从我的理解,应该从第二环节也获取的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')
将事件仅添加到第一个div事业的ID必须是唯一的。你不能有一个以上的元素,在页面中的唯一ID。所以,让你的工作,例如改变将ID类名和使用$$(“div.submit_box一个”)
其他提示
在网页上使用ID's多次毁了代码! 固定在此之后它工作得很好
不隶属于 StackOverflow