javascript代码实例教程-用jquery获取div等块级元素的宽高时不能精确获取,只能得到整数部分像素,不能获取小数位px

发布时间:2018-12-31 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-用jquery获取div等块级元素的宽高时不能精确获取,只能得到整数部分像素,不能获取小数位px脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

问题:用jquery获取p等块级元素的高时不能精确获取,只能得到整数部分像素,不能获取小数位px。请看下面事故:

测试 test!

结果是:

用jquery获取div等块级元素的宽高时不能精确获取,只能得到整数部分像素,不能获取小数位px

这是span实际的宽度73.36px,而控制台打印出来的结果是下面这张图:

用jquery获取div等块级元素的宽高时不能精确获取,只能得到整数部分像素,不能获取小数位px

jquery获取的宽度只有73px !!!

既然jquery不能精确获取宽度,那原生js可以吗?使用document.getElementById("test").style.width 可以吗,肯定是不行的,这个方法只能获取css内联样式表里定义好的样式,这里span的内容是不固定的,所以这个方法不行。

解决方法1

window.getComputedStyle()

使用方法:window.getComputedStyle(element)

这个方法是js里提供元素属性最全的方法,里面包含几百个属性,我们把它在控制台打印出来console.LOG(window.getComputedStyle(document.getElementById("test")));

用jquery获取div等块级元素的宽高时不能精确获取,只能得到整数部分像素,不能获取小数位px

打印出来的是一个对象,在最后我们看到width属性为73.3594px,比浏览器解析的还精确。

解决方法2

getBoundingClientRect()

使用方法:element.getBoundingClientRect()

我们直接在控制台打印:$("#test")[0].getBoundingClientRect(),结果如图:

用jquery获取div等块级元素的宽高时不能精确获取,只能得到整数部分像素,不能获取小数位px

这里我们看到,不仅有width,height的精确值,还有元素的文档中的位置。这个函数在页面滚动到固定元素提供很好的方案,需要的可以自己试一试。

觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的javascript代码实例教程-用jquery获取div等块级元素的宽高时不能精确获取,只能得到整数部分像素,不能获取小数位px全部内容,希望文章能够帮你解决javascript代码实例教程-用jquery获取div等块级元素的宽高时不能精确获取,只能得到整数部分像素,不能获取小数位px所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。