我只需要在向下滚动时显示div并同时删除另一个div。 我尝试使用此代码,这正如我预期的那样工作。问题是,如果我滚动到顶部我需要显示删除的类并隐藏当前类。 (对面)
这是我的代码。
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll >= 0) {
$(".left-nav").removeClass("white-nav");
}
});
什么是最佳解决方案?
答案 0 :(得分:1)
只需使用addClass()
在scrollTop
为0时添加课程,因为您已经检查了scroll >= 0
,您只需要添加else
,如下所示:
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll > 0) {
$(".left-nav").removeClass("white-nav");
} else {
$(".left-nav").addClass("white-nav");
}
});
答案 1 :(得分:1)
$(window).scroll(function() {
var scroll = $(window).scrollTop();
$(".left-nav").toggleClass("white-nav", scroll <= 0);
});
但请注意,滚动事件处理程序中的复杂代码在滚动页面时可能会导致性能滞后。特别是滚动期间的DOM操作会导致严重的性能问题。
答案 2 :(得分:0)
您可以使用toggleClass()来执行此操作 http://api.jquery.com/toggleclass/
<? php code ?>
答案 3 :(得分:0)
$(window).scroll(function() {
$(".left-nav").toggleClass("white-nav", $(window).scrollTop() <= 0);
});
&#13;
.white-nav{
color:red
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='left-nav white-nav'>Hey</div>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<div>nothing here</div>
&#13;