0

我有一个弹出窗口,我想在点击链接的位置显示 - 我希望重用相同的弹出窗口。因此,如果在弹出窗口已经显示时按下另一个链接,我希望它在更改位置并执行新的 slideDown 之前淡出。这意味着使用子函数 - 但位置函数似乎不接受引用的 Jquery 对象。没有错误,只是不显示 div。有什么建议么??谢谢!

代码:

       $('.txtTd').click(function() {
            var selector=$(this);

            if ( $("#popupHelpTxt").is(':visible') ) {
                $("#popupHelpTxt").fadeOut(200, function() {
                    $("#popupHelpTxt").slideDown(200).position({
                        my:        "left top",
                        at:        "left bottom",
                        of:        selector, 
                        offset:     "0, 0",
                        collision: "fit"
                     });
                 });
            } else {
                $("#popupHelpTxt").slideDown(200).position({
                    my:        "left top",
                    at:        "left bottom",
                    of:        this,
                    offset:     "0, 0",
                    collision: "fit"
                });
            }
      });

如果我用位置参数中的其他东西替换“选择器”,它确实有效(带有错误定位的弹出窗口)。

提前致谢!

4

1 回答 1

0

来自 jQuery UI 位置文档:

用于相对于窗口、文档、特定元素或光标/鼠标定位任何小部件的实用程序脚本。

注意:jQuery UI 不支持定位隐藏元素。

不需要 ui.core.js 或 effects.core.js。

http://jqueryui.com/demos/position/

我的建议是坚持使用淡入淡出,并使用 手动编写淡入淡出函数animate,并且只调整opacity因子,而不是display

于 2012-04-19T12:08:37.540 回答