给出下面代码的任何想法为什么突出显示被触发运行两次?我确认它使用不止一次触发的警报运行两次。看到这里有什么问题?
//Scroll to the Anchor in the URL, if there is one
var destination = $(document.location.hash).offset().top;
$("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination-20}, 500, function() {
// Animation complete.
$(document.location.hash).effect("highlight", {}, 3000);
});
答案 0 :(得分:2)
在Firebug控制台中运行您的选择器。我相当肯定它将返回两件物品。在控制台中运行“$(”html:not(:animated),body:not(:animated)“)。size()”,你会明白我的意思。在几乎任何网页上你都会得到一个匹配的html:not(:animated)以及body:not(:animated)。选择器中的逗号表示“选择所有指定选择器的组合结果”。 API Document is here。对animate的调用将作用于返回的包装集中的每个元素。也许其他事情正在发生,但我会首先检查包裹集的大小。