0

如何animate()在每次点击时增加一个整数?

例如,

html,

<ul class="items-thread">
    <li class="item-thread">1</li>
    <li class="item-thread">2</li>
    <li class="item-thread">3</li>
    <li class="item-thread">4</li>
    <li class="item-thread">5</li>
    <li class="item-thread">6</li>
    <li class="item-thread">6</li>
    <li class="item-thread">7</li>
</ul>
<a href="#" class="more">more</a>

jQuery,

$('.more').click(function(){
   $('.items-thread').animate({scrollTop:50}, 500);
   return false;
});

当我第一次单击按钮时,元素.items-thread将向上滚动50px,当我第二次单击按钮时,它应该向上滚动100px,依此类推。

4

3 回答 3

3

只需使用“+=”

看到这个小提琴它在每次点击时增加 50 px margin-left http://jsfiddle.net/pixelass/eKkZ4/

$('.more').click(function(){
   $('.items-thread').animate({marginLeft: '+=50px'}, 500);
   return false;
});
于 2011-12-19T00:37:53.443 回答
1

像这样的事情会做到这一点。

$('.more').click((function(){
   var nScrollTop = 0;

   var animate = function () {
       nScrollTop += 50;
        $('.items-thread').animate({scrollTop: nScrollTop}, 500);
        return false;
   };

   return animate;   
})());
于 2011-12-19T00:33:00.500 回答
0

使用变量,并在每次点击时增加其值:

var scrollAmount = 50;
$('.more').click(function(){
    $('.items-thread').animate({scrollTop:scrollAmount}, 500);
    scrollAmount += 50;
    return false;
});
于 2011-12-19T00:31:55.973 回答