繁体   English   中英

如何在jquery动画中设置最大页边距?

[英]How do I set maximum margin-top in jquery animation?

我在jQuery中有以下代码,该动画使div marginTop动画。

我如何设置它,以使边距顶部等于900px后,禁用click事件?

$("#tmbUp").click(function(){ 
$("#tmbHolder").animate({"marginTop": "-=100px"}, "slow");
});

$("#tmbDown").click(function(){
$("#tmbHolder").animate({"marginTop": "+=100px"}, "slow");
});

在调用animate功能之前,只需检查上边距的当前值即可。 如果等于或小于900,请不要设置动画。

animate方法可以选择采用回调函数。

您想要做的是这样的:

$("#tmbDown").click (function (){ 
  $("#tmbHolder").animate (
    {"marginTop": "+=100px"}, 
    "slow",
    "swing",
    // The callback function
    function () {
      if ($(this).css ('marginTop') >= "900px") {
        $("#tmbDown").unbind ('click');
      }
    }
  );
});

我假设您只想在marginTop> = 900时禁用单击事件,并在/如果用户减小marginTop时再次启用它。 我建议利用动画函数中内置的回调函数。

$("#tmbUp").click(function(){ 
    $("#tmbHolder").animate({"marginTop": "-=100px"}, "slow", 
        function() {
            // if tmbHolder's marginTop < 900px, enable #tmbDown
        }
    );
});

$("#tmbDown").click(function(){
    $("#tmbHolder").animate({"marginTop": "+=100px"}, "slow", 
        function() {
            // if tmbHolder's marginTop >= 900px, disable #tmbDown
        }
    );
});

希望对您有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM