gpt4 book ai didi

javascript - .is (":animated") 选择器在动画期间返回 true 并调用两次

转载 作者:行者123 更新时间:2023-11-30 18:27:45 24 4
gpt4 key购买 nike

我在 jquery :animated 选择器中遇到问题,我使用 jquery animate 函数中的回调函数在动画完成后调用 ajax 页面,但问题是:通过ajax调用的页面被调用了两倍!

$('#elemId').click(function(){
$('html,body').animate({scrollTop: $('#sections_display').offset().top-100}, 500, function(){
$('#sections_display').load('page.php');
});
});

结果“page.php 被加载两次!在 Firebug 中”。

所以我尝试了:

$('#elemId').click(function(){
$('html,body').animate({scrollTop: $('#sections_display').offset().top-100}, 500);
});

if ($('html,body').is(":animated")) {
$('#sections_display').load('page.php');
}

问题是 if ($('html,body').is(":animated")) 在页面动画期间总是返回 true 但我想要动画结束后返回true。

我也试过了:

$('#elemId').click(function(){
$('html,body').animate({scrollTop: $('#sections_display').offset().top-100}, 500, function(){
if ($(this).is(":animated")) {
$('#sections_display').load('page.php');
}
});
});

结果“page.php 被加载了两次”。

最佳答案

The result "page.php is loaded twice times ! in firebug".

那是因为您将事件附加到 htmlbody。试试 html:

$('#elemId').click(function(){
$('html').animate({scrollTop: $('#sections_display').offset().top-100}, 500, function(){
$('#sections_display').load('page.php');
});
});

关于javascript - .is (":animated") 选择器在动画期间返回 true 并调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10403866/

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