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調整するだけで、opacitydisplay

于 2012-04-19T12:08:37.540 に答える