[英]margin-top set by jQuery makes content jump. How can I make it smoothly animate?
[英]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.