gpt4 book ai didi

javascript - Scrolltop()(无法反转动画)

转载 作者:行者123 更新时间:2023-12-03 11:34:29 33 4
gpt4 key购买 nike

嘿,我试图通过向左移动 10% 和向右移动 10% 来让 2 个 div 相互移开。在 1000 点之后它们会相互移开,但在我向后滚动到 1000 点之前它们不会再移回来

$(document).ready(function(){

var jq = $("#jqimg")
var kevin = $("#kevinimg")


$(window).scroll(function () {

if ($(this).scrollTop() > 1000) {
kevin.animate({
marginLeft: "10%",
},600);

jq.animate({
marginRight:"10%",
},600);

}

});
});

我尝试添加这个,但这只是破坏了它

   else {
kevin.animate({
marginLeft: "0%",
},600);

jq.animate({
marginRight:"0%",
},600);

}

有人有解决办法吗?

最佳答案

这是因为之前的动画尚未完成。使用queue: false 来防止动画链接。并使用 marginLeft: null 而不是 0% 从 style 属性中删除 margin 属性。 Example

$(window).scroll(function() {
if ($(this).scrollTop() > 1000) {
$('div').animate({
marginLeft: '10%'
}, {
queue: false
});
} else {
$('div').animate({
marginLeft: null
}, {
queue: false
});
}
});

另一种方法是使用 .stop().finish() 。但在这种情况下,您会失去元素上的另一个动画过程。 Example

$(window).scroll(function() {
if ($(this).scrollTop() > 1000) {
$('div').stop().animate({
marginLeft: '10%'
});
} else {
$('div').stop().animate({
marginLeft: null
});
}
});

关于javascript - Scrolltop()(无法反转动画),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26577344/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com