我想将每次点击的最大左边距增加-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>

10-07 17:22