首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery事件scrollTop

jQuery事件scrollTop
EN

Stack Overflow用户
提问于 2013-08-18 22:37:13
回答 2查看 84关注 0票数 0

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

如果有类.openDiv

代码语言:javascript
复制
if($('#mydiv').hasClass('openDiv')){
 $(window).scrollTop(); //value is 300px
}

如果只加载页面(没有.openDiv )

代码语言:javascript
复制
$(window).scrollTop(); //value is 200px

所以我的变量就像

代码语言:javascript
复制
if($('#mydiv').hasClass('openDiv')){
  thisTop =  $(window).scrollTop() - 100;
}else{
  thisTop =  $(window).scrollTop() 
}

正如您所看到的,我使其100不同的值硬编码。有办法使它动态计算吗?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-18 22:52:25

试试这个:

代码语言:javascript
复制
var div = $('#mydiv'), scrollTop = $(window).scrollTop();
thisTop = div.hasClass('openDiv') ? scrollTop - div.height() : scrollTop;

如果#mydivopenDiv类,那么从$(window).scrollTop()中去掉它的高度,否则只返回$(window).scrollTop()

票数 1
EN

Stack Overflow用户

发布于 2013-08-18 22:42:35

在jQuery中,可以使用.height()方法找到每个对象的高度。我不知道100 by是从哪里来的,但是您可以用$('InsertASelectorHere').height()替换它

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18304316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档