我在重新定位应该作为信息框的div时遇到了一些问题。
我正在执行一个AJAX调用,并且成功后我从服务器收到一条消息。此消息设置为包含文本的div
。由于这些消息具有不同的长度,我必须重新定位div以使其保持在父div的中心。
我正在尝试使用$("#infobox").position({of: $("#parent_field")
来实现这一目标。第一次显示它在确切的中心。但是当它连续多次显示时,它每次都会进一步向右下方移动。
这里所说的就是问题的jsfiddle。只需点击Display Infobox
几次即可查看问题。
答案 0 :(得分:1)
我认为,这是隐藏元素的结果,当它运行时,偏移坐标被添加为内联样式,然后第二次和随后的函数运行它将所需的原始偏移加在一起到内联存储的那些。
我不知道这是否相关,但jQuery UI/API/1.8/Position说:
注意:jQuery UI不支持定位隐藏元素。
然而:
在淡出完成后将以下内容(清除样式属性)添加到函数中,重置它并停止复合偏移。
$("#infobox").removeAttr("style");