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>

  留待以后解决吧~

posted @ 2017-04-28 11:45  名字不好起啊  阅读(935)  评论(0编辑  收藏  举报