#mydiv
是一个可点击的方框Div,点击#mydiv
会添加一个类.openDiv
。
如果有类.openDiv
if($('#mydiv').hasClass('openDiv')){
$(window).scrollTop(); //value is 300px
}
如果只是加载页面(没有 .openDiv
)
$(window).scrollTop(); //value is 200px
所以我的变量就像
if($('#mydiv').hasClass('openDiv')){
thisTop = $(window).scrollTop() - 100;
}else{
thisTop = $(window).scrollTop()
}
如您所见,我对其进行了 100
不同值的硬编码。有没有办法让它动态计算?谢谢!
最佳答案
试试这个:
var div = $('#mydiv'), scrollTop = $(window).scrollTop();
thisTop = div.hasClass('openDiv') ? scrollTop - div.height() : scrollTop;
如果#mydiv
具有openDiv
类,则从$(window).scrollTop()
中取出它的高度,否则返回$(window).scrollTop()
.
关于javascript - jQuery 事件滚动顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18304316/