我正在尝试在滚动时在导航项上切换类Active,并且它适用于所有浏览器。但是当我在firefox上测试它时,我发现它有问题并且无法正常工作。任何想法如何解决?
$(window).on("scroll", function (event) {
var $scrollPos = $(document).scrollTop(),
$links = $('.nav li a');
$links.each(function () {
var $currLink = $(this),
$refElement = $($currLink.attr("href"));
if ($refElement.position().top <= $scrollPos + 100 && $refElement.position().top + $refElement.height() > $scrollPos) {
$links.removeClass("active").blur();
$currLink.addClass("active");
} else {
$currLink.removeClass("active");
}
});
});
&#13;
ul {
position:fixed;
top:0;
}
ul li {
display:inline-block;
margin-right:10px;
}
.nav li a.active {
color:red;
}
.test {
height:1000px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<ul class="nav">
<div class="logo">
<img class="img-responsive" alt="logo" src="img/deco.svg"/>
<span>RPF</span>
</div>
<li id="tt1">
<a class="smooth" href="#home">
<i class="menu fa fa-home"></i>
<div class="mdl-tooltip mdl-tooltip--right" data-mdl-for="tt1">home</div>
</a>
</li>
<li id="tt2">
<a class="smooth" href="#about">
<i class="menu zmdi zmdi-account-box-o"></i>
<div class="mdl-tooltip mdl-tooltip--right" data-mdl-for="tt2">about</div>
</a>
</li>
<li id="tt3">
<a class="smooth" href="#education">
<i class="menu zmdi zmdi-graduation-cap"></i>
<div class="mdl-tooltip mdl-tooltip--right" data-mdl-for="tt3">education</div>
</a>
</li>
<li id="tt4">
<a class="smooth" href="#experience">
<i class="menu fa fa-trophy"></i>
<div class="mdl-tooltip mdl-tooltip--right" data-mdl-for="tt4">experience</div>
</a>
</li>
<li id="tt5">
<a class="smooth" href="#portfolio">
<i class="menu fa fa-briefcase"></i>
<div class="mdl-tooltip mdl-tooltip--right" data-mdl-for="tt5">portfolio</div>
</a>
</li>
<li id="tt6">
<a class="smooth" href="#contact">
<i class="menu zmdi zmdi-email "></i>
<div class="mdl-tooltip mdl-tooltip--right" data-mdl-for="tt6">contact</div>
</a>
</li>
</ul>
</div>
<div class="test" id="home"></div>
<div class="test" id="about"></div>
<div class="test" id="education"></div>
<div class="test" id="experience"></div>
<div class="test" id="portfolio"></div>
<div class="test" id="contact"></div>
&#13;
提前感谢。
答案 0 :(得分:0)
问题出在JQuery版本中。 当我把它改成旧版本时。