【发布时间】:2012-12-04 13:24:04
【问题描述】:
此代码在 Firefox 中有效,但在 Chrome v.23 中无效。 当我在调试器中跟踪代码时,一切正常,但 Chrome 不会更改类。有什么想法吗?
$(document).scroll(function () {
$('a.nav').each(function () {
var divTop = $('#' + this.title).offset().top;
var distance = divTop - $("html").scrollTop();
if (distance > 210 && distance < 255) {
$('a.active').removeClass('active');
$(this).addClass('active');
}
});
});
【问题讨论】:
-
但是 addClass() 和 removeClass() 在 chrome 中对我来说很好用
-
你能重现问题并在jsfiddle.net分享代码
-
是的,代码将成为性能问题。您可能应该考虑限制滚动。如果你找到一个匹配的活动,你应该退出每个循环。而且你不应该一直查找 html 的滚动条,在 each 之外进行。
标签: jquery google-chrome addclass scrolltop removeclass