我想将左边距增加-190px,每次点击最多6次。我目前有增加MooTools中的左边距
$$('#goright').addEvent('click', function(){
$$('#buttons').tween('marginLeft', -190);
})
但是这只会触发一次。我需要运行每次点击(jQuery会使用类似于++的东西),然后只能最多6次(我认为这也会使用类似< 6的东西)。
任何帮助?
我想将左边距增加-190px,每次点击最多6次。我目前有增加MooTools中的左边距
$$('#goright').addEvent('click', function(){
$$('#buttons').tween('marginLeft', -190);
})
但是这只会触发一次。我需要运行每次点击(jQuery会使用类似于++的东西),然后只能最多6次(我认为这也会使用类似< 6的东西)。
任何帮助?
这是一种方法。基本上创建一个全局变量计数,并每次增加1.每次点击甚至基本上检查点击是否小于6,如果它是抓住所有的按钮,并对他们做一个循环,然后单独补间。诀窍是获取当前el的margin-left样式,然后将其转换为int以删除px
,然后添加或减去取决于您希望元素的margin-left
去的位置。这里是JSFIDDLE演示它的行动,但不是去-190我去+10,所以你可以看到效果。请让我知道这是你在找什么。顺便说一句,这是使用MooTools的核心1.3完全兼容:
var count = 0;
$('goright').addEvent('click', function(){
if(count < 6){
$$('.btn').each(function(el){
el.tween('margin-left', el.getStyle('margin-left').toInt()-190);
});
}
count++;
});
HTML我使用:
<button class='btn'>1</button>
<button class='btn'>2</button>
<button class='btn'>3</button>
<button class='btn'>4</button>
<div id='goright'>Click To Go Right</div>
这是做的,实际上是一个有趣的事情!如果您可以使用MooTools More,则可以定义伪事件。事件,即执行后自己“做些什么”。因此,你可以使用myEl.addEvent('click:once', fn)
来登录myEl.addEvent('click', fn)
。在MooTools中,:once
被定义,它会触发一次,然后解除,这意味着,在第二次点击myEl
后,什么都不会发生(EventListener已经去除)。
我创建了一个:times(n)
虚拟事件,没什么大不了的,但它明确了如何使用这些所谓的伪代码。这是一个link to it。
也许这可以帮助你或其他人。
干杯和快乐的编码!
非常感谢。完善。 – TheGrevster 2011-03-15 08:57:03