总述 在JS 中scrollWidth、scrollHeight、scrollLeft 、scrollTop 属性在做一些复杂的交互效果中是非常常用的,因此在本博文中详细的介绍并给出实例。...3. scrollLeft 和scrollTop 3.1 概念 element.scrollLeft :返回元素左边缘与视图之间的距离,这里的视图指的是元素的内容(包括子元素以及内容)。...element.scrollTop :返回元素上边缘与视图之间的距离。 我们在页面中经常会用到如图所示的带滚动条的框,我们的QQ消息,微信消息也是这样的呀!...我们需要滑动滚动条来查看完整的视图,这个时候scrollLeft 和scrollTop就出现了,其实实际项目中我们是需要用到client和scroll这两大属性来自动的滑动滚动条,比如来新消息的时候,滚动条自动往下滑动到底部以便查看新消息...当我将水平,垂直滚动条都拉到底部时,scrollLeft 和 scrollTop 都 分别为116.8 和156.8 ,我设置的元素宽高分别为:200 180 ,视图(子元素)宽高分别为:300 320
自接触js以来一直使用的是jquery插件,对js的了解甚少,经常容易混淆element.scrollHeight、element.scrollTop等方法。今天对这些方法做出比较。...scrollTop:可以设置或者获取元素的已滚动的上部不可见区域的高度。 <!...= 300; console.log("element's scrollTop = " + element.scrollTop); 第七行代码设置了scrollTop,第八行输出了scrollTop...补充: 1:获取元素的不包括padding和border的宽高度,使用js获取css样式的方法获取。...2:获取元素下面可滚动的高度值: element.scrollHeight – element.clientHeight – element.scrollTop; 希望看到这篇文章的同学,多多指出里面的理解不当的地方
大家好,又见面了,我是你们的朋友全栈君。 jQuery 里和滚动条有关的概念很多,但是有三个属性和滚动条的拖动有关,就是:scrollTop、scrollLeft、scrollHeight。...我们现在只探讨和垂直滚动有关的 scrollTop、scrollHeight 属性。...有人说,scrollTop等于图中标出的a。scrollHeight 等于外部div的高度500px。其实,都不对。...其实,图中标出的a、b,对我们编程写js代码没有任何具体意义,它仅仅具有象征意义。 实际上,在js代码里,滚动条是被抽象为一个“点”来对待的。...而scrollTop表示滚动条(一个点)当前的位置在750px里占了多少,不是图中标出的a。
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说scrollTop()方法,希望能够帮助大家进步!!!...scrollTop设置滚动条用法 前提 工作中需要做一个点击右侧网元或板卡,左侧topo图滚动到对应位置 用到的知识点 scrollTop(),position(),工作环境中用了Jtopo,Ztree...scrollTop定义与用法 scrollTop() 方法返回或设置匹配元素的滚动条的垂直位置。 scroll top offset 指的是滚动条相对于其顶部的偏移。...如果该方法未设置参数,则返回以像素计的相对滚动条顶部的偏移。...$(selector).scrollTop(offset) //offset可选 position定义与用法 position() 方法返回匹配元素相对于父元素的位置(偏移)。
项目中遇到这个小问题,看到有前辈总结,借来用一下 document.body.scrollTop与document.documentElement.scrollTop兼容 这两天在写一个JS的网页右键菜单...看前辈们的文章,纷纷表示如果有文档声明(即网页第一句的docType)的情况下,标准浏览器是只认识documentElement.scrollTop的,但chrome虽然我感觉比firefox还标准,但却不认识这个...由于在不同情况下,document.body.scrollTop与document.documentElement.scrollTop都有可能取不到值,那到底网页的scrollTop值怎么得到呢?...所以,如果要得到网页的真正的scrollTop值,可以这样: varsTop=document.body.scrollTop+document.documentElement.scrollTop; ...这两个值总会有一个恒为0,所以不用担心会对真正的scrollTop造成影响。
在页面显示浮动层时,IE、Firefox下都能显示正常,但Chrome下出现了浮动层永远显示在上面,经过仔细分析,发现Chrome对document.documentElement.scrollTop的识别会出现误差...不过加上document.body.scrollTop后,则显示正常。 ...由于document.documentElement.scrollTop和document.body.scrollTop在标准模式或者是奇怪模式下都只有一个会返回有效的值,所以都加上也不会有问题(看来上面的问题是...("poster").style.top = document.documentElement.scrollTop + "px"; else if (document.body)...("poster").style.top = document.documentElement.scrollTop +document.body.scrollTop+ "px";
一、scroll家族 offset 自己的偏移 scroll滚动的 scrollTop和scrollLeft scrollTop 被卷去的头部 当滑动滚轮浏览网页的时候,网页隐藏在屏幕上方的距离 二、页面滚动效果事件...window.onscroll=function(){页面滚动语句} 三、获取scrollTop 谷歌和没有声明DTD:document.body.scrollTop 火狐和其他浏览器...:document.documentElement.scrollTop IE9+和最新浏览器:window.pageXOffset; pageYOffset(scrollTop) 兼容性写法: var...scrollTop=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0; 四、json对象表示...DOCTYPE html> 2 3 4 5 封装自己的scrollTop
outer的属性,而窝一直取inner的属性值,难怪scrollTop一直是0。。。...所以当滚动条在最顶端的时候,scrollTop=0,当滚动条在最低端的时候,scrollTop=115 这个115怎么来的(滚动条高度是15,我量的),见下图。(实为我主观臆测,不保证准确性。。。..._(:з」∠)_ scrollTop是一个整数。 如果一个元素不能被滚动,它的scrollTop将被设置为0。 设置scrollTop的值小于0,scrollTop被设为0。...如果设置了超出这个容器可滚动的值,scrollTop会被设为最大值。...= 0; let dy = ele.scrollTop / 4; // 每次更新scrollTop改变的大小 if (ele.scrollTop > 0) { ele.scrollTop -= Math.max
每个HTML元素都具有clientHeight offsetHeight scrollHeight offsetTop scrollTop 这5个和元素高度、滚动、位置相关的属性,单凭单词很难搞清楚分别代表什么意思之间有什么区别...、水平滚动条、margin的元素的高度。...,在滚动的过程中本元素有部分被隐藏了,scrollHeight代表包括当前不可见部分的元素的高度。...scrollTop: 代表在有滚动条时,滚动条向下滚动的距离也就是元素顶部被遮住部分的高度。在没有滚动条时scrollTop==0恒成立。单位px,可读可设置。 ?...最后附上这些属性的详细解释的文档: clientHeight offsetHeight offsetTop scrollHeight scrollTop
大家好,又见面了,我是你们的朋友全栈君。...设置scrollTop的值小于0,scrollTop 被设为0 如果设置了超出这个容器可滚动的值, scrollTop 会被设为最大值....总结:元素发生溢出时可以设置scrollTop,设置的值为元素里内容向上滚动的不可见区域的高度 scollHeight 判定元素是否滚动到底 如果元素滚动到底,下面等式返回true,没有则返回false.... element.scrollHeight - element.scrollTop === element.clientHeight 总结:当元素无溢出时为元素本身的高度,当元素发生溢出时为元素内容里面的总高度...,不如状态等于0的一个一个的置顶!
虽然我是做后台出身的,但最近心血来潮越来越关注前台技术了^_^,前二天看了“司徒正美”先生的图片无缝滚动分析后,对于scrollTop和offsetTop这二个以前一直没搞太明白的属性研究了一番,大致弄明白了...doctype html> scrollTop study .outer{}{ position:relative;...++ ; result.innerHTML = "container.scrollTop=" + outer.scrollTop + ",item2.offsetTop...100*60的子div,显然60*2=120px,大于最外层容器的100px高度,所以会有一部分被截掉,为了更形象,二个子div上面还放置了一行文字,高度为18px,点击按钮后,最下面绿色子div的scrollTop...递增加1(即位置不断升高,直至完全呈现出来) 为方便理解,还画了一个分析图:(值得注意的是offsetTop属性在ie8的非兼容模式下,还要加上Border的高度) ?
大家好,又见面了,我是你们的朋友全栈君。 jQuery 里和滚动条有关的概念很多,但是有三个属性和滚动条的拖动有关,就是:scrollTop、scrollLeft、scrollHeight。...滚动条向下拖动一段距离,看到的页面效果如下(右部的a、b是我抓图后,用PS标出来的): 那么,这里的外部div 的scrollTop、scrollHeight 属性到底是什么呢?...有人说,scrollTop等于图中标出的a。scrollHeight 等于外部div的高度500px。其实,都不对。...其实,图中标出的a、b,对我们编程写js代码没有任何具体意义,它仅仅具有象征意义。 实际上,在js代码里,滚动条是被抽象为一个“点”来对待的。...而scrollTop表示滚动条(一个点)当前的位置在750px里占了多少,不是图中标出的a。 这时,我们很叹服Windows的设计者,滚动条设计的如此形象美妙,欺骗了多少头脑简单的鼠标操作员。
问题 我在个人站点的左下角和右下角各自使用了如下代码来将页面滚动到顶部和底部: 1 2 3 $("body").animate({scrollTop:0},800); $("body").animate...({scrollTop:$(document).height()},800); 最近才忽然发现在Chrome浏览器下,上面的代码没有问题,而在Firefox下却是无效的。...对于Chrome而言,支持的是这种写法: 1 $("body").animate({"scrollTop":top}); 而对于Firefox,则是支持如下写法: 1 $("html").animate...解决方法 既然这两个浏览器各自支持一种标签选择器,那么只要把两者统合起来即可实现兼容: 1 $("html,body").animate({"scrollTop":top}); 最终,将我的代码改成如下形式便没问题了...()},800); 参考链接 jQuery中animate()方法以及$(‘body’).animate({“scrollTop”:top})不被Firefox支持问题的解决 警告 本文最后更新于 May
在chrome中获取滚动条的垂直偏移 console.log($(document.documentElement).scrollTop()) 但是上面代码在IE中不生效 在IE中是这样获取的 console.log...($(document.body).scrollTop()) 要解决两个兼容问题很简单,直接将两个向加即可,因为两个方法只有一个生效 console.log($(document.documentElement...).scrollTop()+$(document.body).scrollTop()) 设置偏移也是如此 $(html,body).scrollTop(300)
网页被卷去的高:document.body.scrollTop 屏幕分辨率高:window.screen.height 每个HTML元素都具有clientHeight offsetHeight scrollHeight...offsetTop scrollTop 这5个和元素高度、滚动、位置相关的属性,单凭单词很难搞清楚分别代表什么意思之间有什么区别。...、水平滚动条、margin的元素的高度。...,在滚动的过程中本元素有部分被隐藏了,scrollHeight代表包括当前不可见部分的元素的高度。...scrollTop: 代表在有滚动条时,滚动条向下滚动的距离也就是元素顶部被遮住部分的高度。在没有滚动条时scrollTop==0恒成立。单位px,可读可设置。
大家好,又见面了,我是你们的朋友全栈君。...outerctn.scrollHeight; var $outerctn_h=$outerctn.height(); var innerctn_h=innerctn.height(); var scrollTop...=innerctn_h-$outerctn_h; $outerctn.on('scroll',function(){ console.log($(this).scrollTop(),scrollTop...) if($(this).scrollTop()>=scrollTop){ console.log('滚动条到达底部了') } }) 发布者:全栈程序员栈长
DOCTYPE html> js/jquery-3.3.1....min.js" type="text/javascript" charset="utf-8"> html,body{...- 100; } } }) //变量scrollTop是滚动条滚动时,距离顶部的距离 var scrollTop = document.documentElement.scrollTop...|| document.body.scrollTop; //变量windowHeight是可视区的高度 var windowHeight = document.documentElement.clientHeight...|| document.body.scrollHeight; //滚动条到底部的条件 if (scrollTop + windowHeight == scrollHeight)
在获取页面滚动距离的高度时候,往往有不同的获取方式,而且不同的属性浏览器支持稍有差别: pageYOffset:属window对象,IE9+、Firefox、Chrome、Opera均支持该方式获取页面滚动敢赌值...window.scrollY 页面如果未定义DOCTYPE文档头,所有浏览器都支持docume.body.scrollTop属性获取滚动高度。...document.body.scrollTop 如果页面定义了DOCTYPE文档头,那么HTML元素上的scrollT属性在IE、Firefox、Opera(presto内核)下都可以获取滚动高度值,而在...document.documentElement.scrollTop; //Chrome,Safari下为0 此在获取页面滚动高度的时候优先考虑使用 window.pageYOffset 然后在使用scrollTop...= window.scrollY || window.pageYOffset || document.documentElement.scrollTop
javascript中元素的scrollLeft和scrollTop属性的参数意义: scrollLeft:是该元素的显示(可见)的内容与该元素实际的内容的距离。...假如你的页面太大,浏览器的宽度不够,就会出现滚动条。一开始scrollLeft的值为0,你就看到了你的页面最左边的内容。...而不显示超过浏览器的那部分,当你向右拖动滚动条时,scrollLeft的值在增大,你就看到了右边因隐藏的东西,而看不到左边隐藏的部分。...他就会从scrollLeft的位置开始显示,而不显示0-scrollLeft的元素内容。即:该元素的显示位置与实际内容的位置的距离变大。。。...假如不懂的话,你就把元素的所有内容都在纸画出拉,元素的最左边为0,显示的宽度为10,那就就能看到0-10的位置,假如scrollLeft为20的话,你就能看到从20的位置开始显示,向后显示10个 那么scrollTop
领取专属 10元无门槛券
手把手带您无忧上云