2

我得到了带有 2 个按钮的滚动文本工作正常,但我似乎无法让它停止。如果margin < 0 with and if语句,我正在尝试禁用该按钮。

请在此处查看演示:

http://jsbin.com/udumos/2/edit

代码:

$(function() {

    var margin = parseInt(jQuery('#content').css('margin-top'), 10);

    $('#scroll-down').click(function() {

        $('#content').animate({
            'margin-top': '+=50'
        }, 1000);

        return margin;

    });

    if (margin > 0) {
        $('#scroll-up').click(function() {

            $('#content').animate({
                'margin-top': '-=50'
            }, 1000);

        });
    }

});
4

2 回答 2

2

您需要在每次点击事件时更新边距。

$(function () {
    $('#scroll-down').click(function () {
        $('#content').animate({
            'margin-top': '+=50'
        }, 1000);
        return margin;
    });

    $('#scroll-up').click(function () {
        var margin = parseInt(jQuery('#content').css('margin-top'), 10);
        if (margin >= 0) {
            $('#content').animate({
                'margin-top': '-=50'
            }, 1000);
        }
    });
});
于 2013-01-04T20:10:11.970 回答
1

您需要在单击中移动该 if 语句。您还需要在每次单击时更新边距。我还想在向下单击周围放置 if 语句,以确保如果您在顶部,它不能向下移动。

更新了 jsbin

jQuery

$(function(){

   var margin = parseInt(jQuery('#content').css('margin-top'), 10);

   $('#scroll-down').click(function(){
       if( margin > 0 ) {
           // Update margin
           margin -= 50;
           $('#content').animate({
              'margin-top': '+=50'
           }, 1000);
       }
   });


   $('#scroll-up').click(function(){
       // Update margin
       margin += 50;
       $('#content').animate({
          'margin-top': '-=50'
       }, 1000);
   });
});
于 2013-01-04T20:16:45.340 回答