首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS 中 scrollWidth、scrollHeight、scrollLeft 、scrollTop 详解

总述 在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

2.4K40
您找到你想要的搜索结果了吗?
是的
没有找到

document.body.scrollTop与document.documentElement.scrollTop兼容

项目中遇到这个小问题,看到有前辈总结,借来用一下 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造成影响。

1.3K20

html 滚动条 scrolltop scrollheight,浅谈JavaScript中scrollTop、scrollHeight、offsetTop、offsetHeight…

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

2.1K20

scrollTop与offsetTop研究

虽然我是做后台出身,但最近心血来潮越来越关注前台技术了^_^,前二天看了“司徒正美”先生图片无缝滚动分析后,对于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,点击按钮后,最下面绿色子divscrollTop...递增加1(即位置不断升高,直至完全呈现出来) 为方便理解,还画了一个分析图:(值得注意是offsetTop属性在ie8非兼容模式下,还要加上Border高度) ?

1.2K50

JQuery Div scrollTop ScrollHeight

大家好,又见面了,我是你们朋友全栈君。 jQuery 里和滚动条有关概念很多,但是有三个属性和滚动条拖动有关,就是:scrollTop、scrollLeft、scrollHeight。...滚动条向下拖动一段距离,看到页面效果如下(右部a、b是我抓图后,用PS标出来): 那么,这里外部div scrollTop、scrollHeight 属性到底是什么呢?...有人说,scrollTop等于图中标出a。scrollHeight 等于外部div高度500px。其实,都不对。...其实,图中标出a、b,对我们编程写js代码没有任何具体意义,它仅仅具有象征意义。 实际上,在js代码里,滚动条是被抽象为一个“点”来对待。...而scrollTop表示滚动条(一个点)当前位置在750px里占了多少,不是图中标出a。 这时,我们很叹服Windows设计者,滚动条设计的如此形象美妙,欺骗了多少头脑简单鼠标操作员。

2.6K10

$(body).animate({scrollTop:top})无效问题

问题 我在个人站点左下角和右下角各自使用了如下代码来将页面滚动到顶部和底部: 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

69410

获取页面滚动距离pageYOffset、scrollY、scrollTop

在获取页面滚动距离高度时候,往往有不同获取方式,而且不同属性浏览器支持稍有差别: 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

3.4K41

javascript中元素scrollLeft和scrollTop属性说明

javascript中元素scrollLeft和scrollTop属性参数意义: scrollLeft:是该元素显示(可见)内容与该元素实际内容距离。...假如你页面太大,浏览器宽度不够,就会出现滚动条。一开始scrollLeft值为0,你就看到了你页面最左边内容。...而不显示超过浏览器那部分,当你向右拖动滚动条时,scrollLeft值在增大,你就看到了右边因隐藏东西,而看不到左边隐藏部分。...他就会从scrollLeft位置开始显示,而不显示0-scrollLeft元素内容。即:该元素显示位置与实际内容位置距离变大。。。...假如不懂的话,你就把元素所有内容都在纸画出拉,元素最左边为0,显示宽度为10,那就就能看到0-10位置,假如scrollLeft为20的话,你就能看到从20位置开始显示,向后显示10个 那么scrollTop

1.4K20

clientHeight、scrollHeight、offsetHeight和scrollTop之间区别

屏幕可见区域高(内容可视高度,不包括边框,边距或滚动条):document.body.clientHeight 正文内容高(整个元素高度,包括带滚动条隐蔽地方):document.body.scrollHeight...内容高+padding+边框:document.body.offsetHeight 滚动条已经滚动高度:document.body.scrollTop 屏幕分辨率高:window.screen.height...一、先来这个我平时用比较多,height 它主要是返回元素高度或者说这个div内容高度,它是jquery对像,如果只是想取到某个内容高度,那完全可以使用这个,按照上面所设置参数,得到就是...,结果显示上图h2; 对了,为什么这个offsetheight用法和height用法不一样,因为offsetHeight是js对象所能支持方法,而$(“”)所获得是一个jquery对象,他是不支持...所以只能用js方式来获取啦。

92520
领券