我想将每次点击的最大左边距增加-190px,最多6次。我目前有
$$('#goright').addEvent('click', function(){
$$('#buttons').tween('marginLeft', -190);
})
但这只会触发一次。我需要在每次单击时运行(jQuery将使用类似++的东西),然后最多只能运行6次(我假设这也会使用类似
有帮助吗???
最佳答案
这是一种方法。基本上创建一个全局var计数,每次将其递增1。甚至在单击时,基本上还要检查一下click是否小于6,是否单击所有按钮并对其进行每个循环,然后分别对其进行补间。诀窍是获取当前el的左边距样式,然后将其转换为int以便删除px
,然后根据您希望元素的margin-left
的位置添加或减去。这是JSFIDDLE演示它的实际操作,但是我没有使用-190而是使用+10,所以您可以看到效果。请让我知道这是否是您想要的。顺便说一下,这是使用Mootools core 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>