关于 jquery和js获取宽度时只能取整数,取不到小数点
2024-08-21 22:26:27
最近在改版自已的一个网站的时候,遇到了一个问题。
用jquery的width()函数获取元素宽度的时候,返回得到的是整数,而不是小数。
如下图,谷歌上显示的宽度为1078.89px
而我用控制台输出了 console.log( $('.mid-list').width() ); 结果如下
为了排除先入为主的认为四舍五入,我又调整了元素的宽度,为1079.1px
得出的结果,依然是1079
显然,其算法确实是四舍五入。
以防万一,我又试了document.getElementById().offsetWidth,得出的结果一样(显然jquery没有对js做什么过分的行为╮(╯_╰)╭)
以上,在大多数情况下,完全符合我们对js算法的要求,也是十分合理的设定。
但是,在这次我在改版网站的时候,打算用js来获取父元素宽度,再以此来算出内部元素之间的margin,并赋值。
结果不尽人意,获取width的时候得到的数据不准确,四舍的时候还好,但是五入的时候,原本的1078.89被算成了1079,从而计算出的margin略大,导致了内部元素的间隔不准确。
在本次情况的解决方法(只适用本次情况,类似width 五入后,导致计算值略大):将得到的width减一,也即 $('.mid-list').width() -1 , 虽然可能会导致计算出的margin略小,但是做前端的都清楚,“略大”比“略小”造成的危害要大很多。
最新文章
- 在iOS APP中使用H5显示百度地图时如何支持HTTPS?
- poj2778
- border-box
- JAVA多线程与多进程
- windows下脚本检测tomcat是否启动,没有启动则启动
- jsp引入struts标签,引入自己写的jquery需要注意的问题
- js图片大小限制,设置
- 在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录
- Windows上最大传输单元MTU值的查看和设置
- Java中next()和nextLine()
- 快照(Snapshot)技术发展综述
- SpringBoot从零单排 ------初级入门篇
- MySQL主从复制(一)
- zabbix模板化监控
- idftp
- SFTP远程连接服务器上传下载文件-vs2013项目实例
- python和shell变量互相传递
- jmap dump文件压缩后失效
- ubuntu VNC中Xfce4中Tab键失效的解决方法
- Java IO流经典练习题
热门文章
- iOS常用设计模式笔记
- [原创]Visual Studio 使用 Just My Code引起无法断点
- JSON对象长度和遍历方法
- Google-glog 日志库使用手记
- 转:django 接收页面form的post数组
- python 编辑文件时路径问题解决方法:文件或者目录不存在、文件编辑后无法保存等(以编辑xml文件为例)
- Android 拖动View View跟随手指一动
- mysql 数据库故障通过备份恢复模拟
- js数组中indexOf/filter/forEach/map/reduce详解
- CSS 的overflowhidden 属性详细解释