gpt4 book ai didi

jQuery(1.7.2 - 最新)- 设置 CSS 值时的怪异行为(小数/ float 错误)

转载 作者:太空宇宙 更新时间:2023-11-03 19:02:01 26 4
gpt4 key购买 nike

我一直在测试一个简单的循环,它在屏幕上移动一些东西 - 但是当通过 jQuery 设置 CSS 属性时,我看到了奇怪的行为(几乎肯定与 float 错误有关)。

基本上我会反复做这样的事情

var val = parseInt($(myobject).css("left));
val -= 7;
$(myobject).css("left",val+"px");

如果我在那之后测试“left”属性的值,我会看到如下结果

1042
1035
1028
1020 <<<< !!!!
1013
1006
...

进一步挖掘,似乎正在发生的是我这样做

$(myobject).css("left","1021px")
alert($(myobject).css("left"))

警报显示的是“1020.99876152371253716253px”

我能想到的是 jQuery 在内部剥离“1021px”并分配数字的非四舍五入/固定/上限/下限版本!?

不确定在哪里提出这个问题或者我是否遗漏了什么!?!?

附注更新说我在最新的公开 Chrome/W7-64 上看到了这个

p.p.s.我将我的整个代码(没有 webfont 和 1 个外部函数)复制到 JSFiddle 中并且它没有异常行为(即使在全屏模式下) - 但代码在独立运行时继续异常行为(尽管在各个方面都是相同的代码!!)所以我我对此感到更加迷惑...

还有更多这只发生在 Chrome 中,在 IE (9) 和 Firefox (14) 中它工作正常 - 很明显我遇到了一个怪癖,而且是一个非常具体的怪癖(因为它在 jsFiddle 中不可重现!!)

最佳答案

jQuery 正在分配您指定的值(“1021px”)。产生浮点值的是浏览器。不久前,我在一个版本的 IE 中遇到了类似的问题。

你可以这样处理:

var val = Math.round( parseFloat( $( myobject ).css( 'left' ) ) );

关于jQuery(1.7.2 - 最新)- 设置 CSS 值时的怪异行为(小数/ float 错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11731747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com