#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不同的值硬编码。有办法使它动态计算吗?谢谢!
发布于 2013-08-18 22:52:25
试试这个:
var div = $('#mydiv'), scrollTop = $(window).scrollTop();
thisTop = div.hasClass('openDiv') ? scrollTop - div.height() : scrollTop;如果#mydiv有openDiv类,那么从$(window).scrollTop()中去掉它的高度,否则只返回$(window).scrollTop()。
发布于 2013-08-18 22:42:35
在jQuery中,可以使用.height()方法找到每个对象的高度。我不知道100 by是从哪里来的,但是您可以用$('InsertASelectorHere').height()替换它
https://stackoverflow.com/questions/18304316
复制相似问题