gpt4 book ai didi

jQuery 报告错误的顶部/左侧位置

转载 作者:行者123 更新时间:2023-11-28 18:53:02 25 4
gpt4 key购买 nike

我将页面上的所有元素都设置为绝对位置,这都是整数。尽管 Chrome 报告了正确的位置,例如top 100 left 15,jQuery 报告一个非常奇怪的坐标 top 99.99999332427979 left 15.454545021057129。给了什么?

编辑:由于某些未知原因,它恢复正常工作,报告了准确的整数。我真的不知道发生了什么,但它一定与 margin-top、margin-left、border-top-width 和 border-left-width 有关,因为它们在 jquery position() 中被解析为 float 功能。就我而言,我不做任何动画,所以这个问题与动画无关

最佳答案

只是猜测,但我认为这与 float 和 jQuery 中的计算有关。

float 是一种保存数字的数据类型。要么是大数字,要么是有很多小数的数字。看看数字,我很确定 jQuery 使用 float 。

关于 float 的小事实:它们不准确。非常不准确,通常会导致像这样看起来很奇怪的数字。

Google 似乎使用更准确的数据类型来计算位置。您一定想知道,为什么 jQuery 不使用准确的数据类型?这实际上是一个非常简单的问题。 jQuery 使用各种形式的数据(像素、点、百分比等)产生十进制数(缓动等)的计算。如果 jQuery 只使用整数而你只使用百分比,你会得到一个非常难看的动画。这就是我认为 jQuery 使用 float 的原因,这也解释了不可靠的数字。

最后,jQuery 动画的距离是使用距离和时间来计算的。比方说,jQuery 每秒“更新”你的 DOM 60 次,你希望在一秒钟内将你的元素移动 60 个像素,它会在每次“更新”时将你的元素移动一个像素。但是,如果您希望在一秒内将您的元素移动 61 个像素怎么办,您不必认真思考就会知道它会导致一个不可靠的数字……您的元素将每秒移动 1.01666667 个像素。这也解释了为什么我认为 jQuery 使用 float ...

恐怕您真的无能为力。您可以将数字四舍五入。

关于jQuery 报告错误的顶部/左侧位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8787375/

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