[英]Toggle class on specific area div
当滚动到顶部时, blue
-class 被添加到#div
,但当它回到底部时, blue
-class 不会被删除。
小提琴链接: http : //jsfiddle.net/5d922roc
$(window).scroll(function() { var scroll = $(window).scrollTop(); var os = $('#div1').offset().top; var ht = $('#div1').height(); if(scroll > os + ht){ $('#div2').addClass('blue'); } });
body, html { height: 101%; margin: 0; } .div { margin: 20px; padding: 5px; height: 500px; border: solid 1px black; background-color: #ffffff; } .div.blue { background-color: #15158F; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="div1" class="div"> Div 1 </div> <div id="div2" class="div"> Div 2 </div> <div id="div3" class="div"> Div 3 </div>
继续Taplar和Hassan 的评论; 您的if
语句需要一个else
语句来完成“如果滚动到顶部,将blue
添加到div2
。如果不在页面顶部,则删除blue
”的命令。
更新/修改 JS:
$(window).scroll(function() {
var scroll = $(window).scrollTop();
var os = $('#div1').offset().top;
var ht = $('#div1').height();
if(scroll > os + ht){
$('#div2').addClass('blue'); // at top = blue
} else {
$('#div2').removeClass('blue'); // not at top = no blue
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.