我一直在测试一个简单的循环,它可以在屏幕上移动一些东西——但是在通过 jQuery 设置 CSS 属性时,我看到了奇怪的行为(几乎肯定与浮动错误有关)。
基本上我反复做这样的事情
var val = parseInt($(myobject).css("left));
val -= 7;
$(myobject).css("left",val+"px");
如果我在那之后测试“左”属性的值,我会看到如下结果
1042
1035
1028
1020 <<<< !!!!
1013
1006
...
进一步挖掘,似乎正在发生的是我这样做
$(myobject).css("left","1021px")
alert($(myobject).css("left"))
警报显示的是“1020.99876152371253716253px”
我能想到的是,jQuery 在内部剥离了“1021px”并分配了一个非圆形/固定/天花板/地板版本的数字!?
不知道在哪里提出这个问题,或者我是否遗漏了什么!?!?
ps 更新说我在最新的公共 Chrome/W7-64 上看到了这个
pps 我将我的整个代码(没有 webfont 和 1 个外部函数)复制到 JSFiddle 中并且它没有行为异常(即使在全屏模式下) - 但是代码在独立运行时继续行为异常(尽管在各个方面都是相同的代码!!)所以我对这个越来越迷惑了...
还有更多 ps 这只发生在 Chrome 中,在 IE (9) 和 Firefox (14) 中它可以正常工作 - 很明显我偶然遇到了一个怪癖,而且是一个非常具体的怪癖(因为它在 jsFiddle 中不可重现!!)