#mydiv是一个可单击的框Div,如果单击.openDiv,则将添加一个类#mydiv

如果具有类.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事件scrollTop,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18304316/

10-12 15:54