使用 jquery,我编写了以下高度复杂的代码:
val = 100;
n.css('left', val /* + 'px' */);
console.log(val, n.css('left'));
它的控制台输出是:
100, "90px"
为什么呢...?
在此先感谢您的帮助
编辑:这是一个示例: http: //jsfiddle.net/RaznH/1/ 您需要缩小浏览器(例如使用“ctrl -”)并打开控制台才能显示效果
使用 jquery,我编写了以下高度复杂的代码:
val = 100;
n.css('left', val /* + 'px' */);
console.log(val, n.css('left'));
它的控制台输出是:
100, "90px"
为什么呢...?
在此先感谢您的帮助
编辑:这是一个示例: http: //jsfiddle.net/RaznH/1/ 您需要缩小浏览器(例如使用“ctrl -”)并打开控制台才能显示效果
您需要position
在您的元素上声明静态(相对、绝对或固定)以外的其他元素,否则它将不起作用。
以评论中的示例为例:http: //jsfiddle.net/VqH9x/1/当您声明正确的位置时,一切正常。
你不应该使用它。相反,使用:
.offset().left
因此,您将拥有以下代码:
console.log(val, n.offset().left);
或者可能是针对您的问题,它基于浏览器,它相对于文档进行解释。
来自jQuery API:
获取第一个元素的当前坐标,或设置匹配元素集中每个元素相对于文档的坐标。
好吧,这似乎是一个 webkit 错误,实际的 jquery 票在这里:http ://bugs.jquery.com/ticket/4993和 webkit 的错误报告在这里:https://bugs.webkit.org/show_bug。 cgi?id=105979
谢谢您的帮助