ie11下jquery获取元素width问题
问题出自一个自写的滚动控件的指令,ng-repeat 一个数组的数据,在一个div中提供展示效果,如果个数多超过展示长度,那么超出部分会被隐藏比并增加前翻后翻按钮。通过元素的 position 进行设置当前显示的数据,翻页就 +/- 一下这个元素的 width 然后设置整体的 position left。具体问题就在获取然后设置的上,没有深度探究其原因,只能当成个坑来进行记录啦!
首先,获取到的 position left 值是一个多位小数,然后进行元素的 position left 设置,设置后再进行获取,就会发现,获取的值小于设置时的值。。。而且这个插值是 0.0几。
上代码:
<!DOCTYPE html> <html> <head> <meta charset='utf-8'> <script src='jquery-1.11.3.js'></script> <style> .d1, .d2 { position: absolute; width: 100px; height: 100px; border: 1px solid #eee; } .d2 { left: 10.22px; } </style> </head> <body> <div class='d1'></div> <div class='d2'></div> <script> var leftV = 961.5799713134766; $('.d1').css('left', leftV); console.log('set value: ', leftV); console.log('get value:', $('.d1').position().left); console.log('get value(short float) : ', $('.d2').position().left); </script> </body> </html>
留待以后解决吧~