设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
Developers
›
Web 开发综合讨论
›
$(document).scrollTop()和$(window).scrollTop()IE下值 ...
返回列表
查看:
18469
|
回复:
2
$(document).scrollTop()和$(window).scrollTop()IE下值为0
[复制链接]
jeongee
jeongee
当前离线
积分
5618
IP卡
狗仔卡
发表于 2010-1-29 14:23:06
|
显示全部楼层
|
阅读模式
Jquery
$(document).scrollTop()和$(window).scrollTop()在IE在取不到值大家知道是咋回事啊,不管定义不定义DTD
但是在前面随便alert个东西就可以获取到值,谁能解释一下啊,在火狐下没这个问题
JS
复制代码
alert
(
$
(
document
)
.
scrollTop
(
)
)
;
//直接这样,始终为0
复制代码
JS
复制代码
alert
(
$
(
window
)
.
scrollTop
(
)
)
;
//直接这样,始终为0
复制代码
JS
复制代码
alert
(
)
;
alert
(
$
(
window
)
.
scrollTop
(
)
)
;
//这样,可以取得争取的值
复制代码
有没有人知道为什么啊?郁闷死了
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
baiyuxiong
baiyuxiong
当前离线
积分
3505
IP卡
狗仔卡
发表于 2010-1-29 16:23:08
|
显示全部楼层
本帖最后由 baiyuxiong 于 2010-1-29 16:24 编辑
var bodyTop = $(document).scrollTop();
经测试,如果是写成$(window).scrollTop()的话则在IE系列下是没有值的,万恶的jQuery API竟然没有scrollTop().
bodyTop = document.documentElement.scrollTop + document.body.scrollTop;
就可以了。
因为始终有一个为 0 ; 呵呵。
http://niunan.javaeye.com/blog/258164
回复
支持
反对
使用道具
举报
显身卡
jeongee
jeongee
当前离线
积分
5618
IP卡
狗仔卡
楼主
|
发表于 2010-1-29 17:18:56
|
显示全部楼层
额,你小子到网上拷贝的啊,呵呵,经研究不是上述导致的问题
竟然是因为万恶的IE在刷新的手先把scrolltop搞成0然后再恢复到之前的状态,而document的ready的时候还没有恢复到之前状态,导致获取的值不正确,解决方法就是延时执行函数,哈哈
PS:$(window).scrollTop()在IE下是有值的,JQuery API 里也是有scrolltop函数的啊,还是看看官方的api比较实在。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页