【发布时间】:2012-10-29 16:44:13
【问题描述】:
我有一个表格,其中有一个隐藏在单元格中的菜单,我使用slideToggle() 展开该单元格。这个菜单有几个<img> onclick= 调用一个函数并传递元素和一个数字。现在我正在尝试获取进行调用的元素的位置,以便我可以动态创建覆盖<div>。问题是我没有得到位置值,我不知道为什么。 HERE 是我正在尝试做的一个小例子。有人可以帮忙吗?
【问题讨论】:
我有一个表格,其中有一个隐藏在单元格中的菜单,我使用slideToggle() 展开该单元格。这个菜单有几个<img> onclick= 调用一个函数并传递元素和一个数字。现在我正在尝试获取进行调用的元素的位置,以便我可以动态创建覆盖<div>。问题是我没有得到位置值,我不知道为什么。 HERE 是我正在尝试做的一个小例子。有人可以帮忙吗?
【问题讨论】:
我认为问题在于您对 $(this) 的使用。您正在将被点击的元素传递到您的函数中,因此您需要使用它。我还更新了您的警报以显式输出左侧偏移量,因为偏移量只会返回一个对象。您可以改为使用 console.log 来检查返回的对象(在 chrome 等浏览器中):
window.somefunc = function(el,id){
var pos = $(el).offset();
alert(pos.left);
}
我在这里更新了你的 JSFiddle:http://jsfiddle.net/gRfnb/22/
【讨论】:
this,并没有意识到参数名称。愚蠢的错误......谢谢你