offsetheight

阅读 / 问答 / 标签

jquery 怎么用offsetheight

jquery的outerHeight()方法就是原生JS的offsetHeight;

offsetheight 的属性是什么?

offsetHeight与offsetWidth作用相同,前者是获取元素的高度后者则是宽度.offsetHeight属性可以获取元素的可见高度值。offsetHeight包括边框和内部空白补丁。但超出元素的内容则不被计算。也就是说只返回元素的实际高度值。如果看得着边框,从上边框到下边框的距离则是offsetHeight返回的值。经过测试无论在IE或FF均返回正常。值得一提的是利用css来控制元素的高度,在IE里会被撑大,FF里则不会,但返回的值是正确的!offsetHeight虽不是W3C标准属性,但广泛被浏览器支持。

运行的时候,当执行dome.scrollTop-=dt.offsetHeight的时候,感觉滚动会跳一下,不是平滑过渡,要怎么改?

2021年,我今天遇到了和你一样的问题,咱俩的代码差异很大,所以我把最终解决的过程跟你分享一下,你可以根据我的解题思路来解决你遇到的问题,我的滚动内容是用160px高的div容器包裹的1个ul列表,ul列表中又包含3个li列表项目,每个列表项目高度40px分别包含不同的文字内容,虽然,我的列表总高度才40*3=120px,是小于div容器的160px的高度的,按道理说,没有内容溢出是不能进行滚动的,但是,结果很意外,运行代码,页面效果是三行文字向上循环滚动,但是,出现了和你一样的每次循环都会产生跳一下的现象,解题思路:①我的内容是3个摞在一起的li,高度之和是120px,是小于div容器的高160px的,按正常逻辑,因为没有溢出内容,所以是不能产生向上滚动的效果的,也就是说不具备向上滚动的条件,按理说应该无法向上滚动才对,但实际情况是滚动效果出现了,这就只能说明一个问题,我的滚动内容中又多了别的东西,(多出来的东西的高度+我的实际内容)>160px(div容器的高度)具备了滚动条件,所以才出现了"不应该出现的"滚动效果,所以,只要我找到多出来的这个东西,问题也就应该迎刃而解了,②那么这个多出来的东西,用什么方法找呢,答案是使用边框:border:1px solid red;来找出多了哪些东西,因为我们都是要文字向上滚动的效果,所以我们关心的是内容的上边和下边,也就是top和bottom有没有多出什么东西来,而内容的左和右多出什么东西是不影响我们的内容向上滚动的,我开始给我用到的每个元素加上边框来看它们的高度,我的元素有li,有ul,有div,经过查看,我发现,所有的元素之间都有填充,这就解释了,为什么我原本的内容120px不够滚动条件,但却产生了滚动效果的问题,正是因为,元素之间的这些填充,导致我原本120px的内容,最后加到一起很轻松的超过了div容器的160px的高度,从而产生了溢出,具备了滚动的条件,最终产生了滚动的条件,ok,问题找到,开始解决,我把所有元素之间的top和bottom的填充都去掉了,用的是margin-top:0px,和margin-bottom:0px;这样,li和ul之间没有了填充,ul和div之间也没有了填充,此时,去掉了所有多出来的东西后,我的内容的高度就是实实在在的120px了,当然结果就是保存代码并刷新页面后,没有了滚动效果,于是,我又在xhtml代码中,加了两个li,使得我的内容的高度变成40*5=200px,大于div容器的160px,所以,滚动效果出现,而且丝般顺滑,③再回头研究一下,是哪个填充导致了滚动循环时发生一跳一跳的问题,从li到ul之间填充开始,再测试ul到div之间的填充结束,发现问题是:在ul到div之间的填充,导致了滚动效果一跳一跳的,准确的说是:设置ul{margin-bottom:0px;}后,解决了跳的问题,也就是说,问题是ul的下边界和div之间的填充导致了滚动发生跳的现象,分析原因:我们定义的if语句,判断的是我们想要滚动的内容的高度,是不包括滚动的内容和它父容器之间的填充的,因此,当scrollTop向上不断的滚动,scrollTop++到达了我们设置的阈值时,就不会再继续把内容下面的那部分填充继续向上滚动了,而是直接重置滚动内容,这样,原本还剩下的那部分填充内容没有继续向上滚动,而第二次循环已经开始滚动了,就会产生滚动内容向上跳了一下的感觉,实际上,向上跳的那段距离,就是上一次循环剩下的那个没有继续向上滚动的填充,好了,我的解题思路就是上述内容,希望能帮到你,有问题可以在这里继续探讨.

javascript里面是不是没有offsetRight这个属性啊?只有offsetLeft、offsetHeight、offsetWidth

对没有 offsetRight 或者 offsetBottom 之类的有 offsetWidth offsetHeight offsetLeft offsetTop另外 如果你想看到底有没有这些属性 你可以看看关于js的数据还可以 在 google 火狐 或者ie 控制台查看 //强推荐 全看一遍 什么都知道了 不懂的属性百度举个小例子 :console.dir(document.getElementById("box"))可以直接看到关于 id为box的元素的很多信息 包括位置等等 希望对你有所帮助

jsp页面用offsetheight取table的高度 取到的值是0是怎么回事?

看下alert(hei.style.width) 值是0吗 就知道了

提示我js中的offsetHeight为空或者不存在,为什么?具体代码如下

offsetXxx拿的是行内样式的高度、宽度等如果该元素的样式引用外部样式表、那么他的offset是取不到值的

jquery 怎么用offsetheight

offsetHeight是js对象所能支持的方法,而$("div:eq(1)")所获得的是一个JQUERY对象,他是不支持offsetHeight的。可以这样修改:1:$("div:eq(1)").get(0).offsetHeight;//get()方法返回了DOM元素,可以支持offsetHeight属性,(注意:get()过后返回的是普通DOM元素,已经不支持JQUERY的方法了,但是可以用JS的方法)。2:像楼上那哥们一样,$("div:eq(1)").height();height()是JQUERY对象所支持的方法。

html元素的 height,clientHeight和offsetHeight之间的区别

height:指元素内容的高度clientHeight:内容高度+padding高度offsetHeight:内容高度+padding高度+边框宽度

offsetHeight和clientHeight的区别

clientHeight大家对 clientHeight 都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,一般是最后一个工具条以下到状态栏以上的这个区域,与页面内容无关。offsetHeightIE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。

用通俗的话解释下offsetheight 属性

offsetHeight与offsetWidth作用相同,前者是获取元素的高度后者则是宽度.offsetHeight属性可以获取元素的可见高度值。offsetHeight包括边框和内部空白补丁。但超出元素的内容则不被计算。也就是说只返回元素的实际高度值。如果看得着边框,从上边框到下边框的距离则是offsetHeight返回的值。经过测试无论在IE或FF均返回正常。值得一提的是利用css来控制元素的高度,在IE里会被撑大,FF里则不会,但返回的值是正确的!offsetHeight虽不是W3C标准属性,但广泛被浏览器支持。