3

我在使用 Firefox 时遇到了一个奇怪的问题,我有一个带有 ID="popup_layer" 的 DIV 标签。我正在使用 Jquery 来找到这个工作正常的 DIV:

var rightPosition=$j("#popup_layer")

但是当我试图找到 DIV 的位置时:

var rightPosition=$j("#popup_layer").position().left; 

我在 Firebug 中得到以下异常:

[异常...“无法转换 JavaScript 参数 arg 0 [nsIDOMViewCSS.getComputedStyle]”nsresult:“0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)”位置:“JS 框架 :: http://localhost:20094/Scripts/CombineJS.ashx?JSFiles= /Scripts/jquery-1.2.6.min.js;%20%20%20%20/Scripts/PDP/newModalBox.js;%20%20%20%20/Scripts/CookieHelpers.js;%20%20% 20%20popupLayer.js;%20%20%20%20/BE/Scripts/scripts.js ; :: 匿名 :: line 23" data: no]

4

2 回答 2

3

您不能使用display:none. 根据定义,该元素不应该存在于页面上,因此它不占用空间。

我建议最初让你的元素可见,得到你想要的尺寸,然后display:none在你完成测量后应用“”。

或者,您可以改用“ visibility:hidden”。

于 2009-08-13T20:58:17.543 回答
1

出于某种原因,当我删除 div 上的样式时,它开始起作用

<div id="popup_layer" style="display:none;">

<div id="popup_layer">

太奇怪了!

于 2009-08-13T20:13:56.980 回答