scrollTop值为0等疑难杂症

IE6/7/8/9/10:

对于没有doctype声明的页面里可以使用 document.body.scrollTop 来获取 scrollTop高度 ;
对于有doctype声明的页面则可以使用 document.documentElement.scrollTop ;

Safari:

safari 比较特别,有自己获取scrollTop的函数 : window.pageYOffset ;

Firefox:

火狐等等相对标准些的浏览器就省心多了,直接用 document.documentElement.scrollTop

chrome

document.body.scrollTop

or

document.documentElement.scrollTop

总结

// 有很多网友推荐这个方法,个人不太喜欢使用这个
var sTop=document.body.scrollTop+document.documentElement.scrollTop;

// 个人推荐这种写法
var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;

原文地址:https://www.cnblogs.com/drinkoo/p/9819924.html

时间: 2024-10-02 03:05:46

scrollTop值为0等疑难杂症的相关文章

火狐、谷歌、IE关于document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题

一.先遇到document.body.scrollTop值为0的问题 做页面的时候可能会用到位置固定的层,读取document.body.scrollTop来设置层的位置,像这样, window.onscroll=function () { var oId=document.getElementByIdx_x("id"); oId.style.top=document.body.scrollTop+"px"; } 可是怎么没有达到预期效果呢,输出document.b

关于scrollTop值一直为0的问题

在做聊天webapp时发现一个问题,当发送新消息时无法让页面自动滚到最下面显示最新的消息. 最先想到的解决思路就是用scrollTop方法,但是将内容节点绑定上scrollTop方法时一直不能生效,后来打开命令台时发现scrollTop的值一直为0.经过一番排查后终于发现问题的所在 scrollTop获取的值是滚动条产生的那个节点,也就是说虽然在content div里承载的聊天内容,但是为聊天内容产生出滚动条的DOM是它的父级元素,在这个产生滚动条的节点上就可以取得相应的scrollTop值.

浏览器获取正确的scrollTop值

window.pageYOffset 被所有浏览器支持除了 IE 6, IE 7, IE 8, 不关doctype的事, 注IE9 开始支持此属性. window.scrollY 被Firefox, Google Chrome , Safari支持 不关doctype的事, 注IE9 不支持此属性. 在(quirk 模式)的时候 document.body.scrollTop 在 Internet Explorer, Firefox, Opera, Google Chrome Safari 返回

怎么样用opencv将彩色图片转化成像素值只有0和255的灰度图?

  分类: OpenCV [Q1]怎么样用opencv将彩色图片转化成像素值只有0和255的灰度图? 进行灰度化,IplImage* pImg = cvLoadImage( "C:\\1.bmp", 0 ); 这样图像已经灰度化,然后调用cvThreshold(image, image, 125, 255, CV_THRESH_BINARY); 就可以了,125那里是你所用的阈值,这就是最简单的二值化,你要用ostu,或者别的高级一点的,就要自己写函数了   // Truncate v

cyg_io_read返回值是0,因为读到的字节长度在参数中

len = cyg_io_read(ser_handle1, ucMasterRTURcvBuftmp, &len);// len等于0,cyg_io_read读到的字节数在参数中的红色的len,而不是前面的len cyg_io_read函数的说明中有: Syntax:Cyg_ErrNocyg_io_read( cyg_io_handle_t handle, void *buf, cyg_uint32 *len );Parameters:        handle—handle to the

php的内置函数array_values()重置数组信息,数组K值有0开始重新排列

<?php /*php的内置函数array_values()重置数组信息,数据K值有0开始重新排列*/ $a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse"); print_r(array_values($a)); // 输出: // Array ( [0] => Cat [1] => Dog [2] => Ho

scrollTop总是为0

如图,需要实现类似阅读完整个协议之后,我接受这个按钮才能被点击. 第一反应想到的是监听滚动,scroll 美滋滋的绑定事件,然后判断 : 滚动的距离大于内部的高度减去外部的高度的时候就视为到达底部 scrollTop + divHeight >= scrollHeight 这里scrollTop指的是滚动的距离,可以理解为滚动条距离顶部的距离, divHeight是父元素的高度,想要在父元素里滚动,当然子元素高度要大于父元素. scrollHeight就是子元素的高度了 嗯,一切都很顺利,当到达

调用值为0的函数指针

写的程序调用了值为0的函数指针,没有发生什么事情,感觉很奇怪,遂搜索了一些. 用中文搜索这个问题还真没人回答,用英文搜了一下,真是有牛人呀 http://stackoverflow.com/questions/15089896/null-function-pointers 基本上说会崩溃,但是我的程序没有崩溃,可能和调用环境有关系吧,我是在浏览器中调用.

100万个数据,数据值在0~65535之间,请用尽可能少的内存和最快的速度从小到大排序

场景说明:100万个数据,数据值在0~65535之间,请用尽可能少的内存和最快的速度从小到大排序 voidsort(int* array, int n) { //n的值在100万左右 //你的实现 } 我们首先观察到所有的数据已经保存到了array数组中,现在我们需要做的就是将数组中的元素排序.现在我们把数组中的元素提取出来比如是3,然后我们提取出数组下标是3的元素,保存到临时空间,通过负数来计算个数: void sort(int* array, int n) {     int tmp=0;