9
$("a[rel]").getOverlay().close();
$("a[rel]").close();

どちらも機能しません。

$(document).ready(function () {
        $("a[rel]").overlay({
            mask: '#3B5872',
            effect: 'apple',
            onBeforeLoad: function () {
                var wrap = this.getOverlay().find(".contentWrap");
                wrap.load(this.getTrigger().attr("href"));
            },
            onLoad: function () {
                $('.contentWrap form').submit(function (event) {
                    event.preventDefault();
                    $("a[rel]").overlay().close();
                    hijack(this, update_employees, "html");
                });
            }
        });
    });

    function hijack(form, callback, format) {
        $.ajax({
            url: form.action,
            type: form.method,
            dataType: format,
            data: $(form).serialize(),
            success: callback
        });
    }

    function update_employees(result) {
        $("#gridcontainer").html(result);
    }

助言がありますか?

onLoadイベントがFFで正しく機能しないように見えるため、Chromeを使用しています。

4

7 に答える 7

18

このような:

$("a[rel]").overlay().close();

ほとんどのスクリプトでは、元のメソッドを呼び出します。たとえば、そのオブジェクトで必要なメソッドを.overlay()呼び出します。

于 2010-07-16T16:10:08.210 に答える
10

api:truejsから閉じる場合は、プロパティを設定する必要があります。

var overlay = $("a[rel]").overlay({
    ...
    api:true
});

overlay.close();
于 2010-07-16T17:01:47.603 に答える
5

オーバーレイをクラスに割り当てる場合の問題は、多くのオーバーレイ要素が存在するため、すべてを閉じる必要があることです。

$.each($(".caddy_grid"), function(i, v){$(v).overlay().close();})

または、閉じるボタンのクリックをシミュレートすることもできます。

私の場合、オーバーレイをトリガーするクラスはcaddy_grid_overlayなので、閉じるボタンには次のようにアクセスできます。

$('.caddy_grid_overlay .close').click();
于 2011-07-20T02:50:14.020 に答える
2

試す

$("a[rel]").data("overlay").close();

これを使用してオーバーレイを閉じます。

ソース: http: //forum.jquery.com/topic/having-trouble-timing-jquery-tools-overlay-to-close-after-a-few-seconds

于 2011-09-05T16:30:16.787 に答える
2

それはあなたのために働きます、ここのコードを参照してください、

var api = $("a[rel]").data("overlay");

api.close();//close this overlay

参照 :

http://jquerytools.org/documentation/overlay/index.html#api

http://jquerytools.org/documentation/scripting.html

于 2012-06-19T04:21:30.063 に答える
1
 $(document).ready(function() { 
    var overlayObject = $("a[rel]").overlay({ 
        top: 50,
        expose: {
                    color: '#232323',
                    closeOnClick: true
                },

                onClose:function() {   
                    $('#reg-login').hide();
                    $('#reg-register').hide();
                },
        effect: 'apple'
 });    
于 2012-03-27T22:20:59.200 に答える
0

関数を作成して、どこからでも呼び出すことができます。

この関数は、クラス名とリンクに基づいて機能します。

function closeOverlay(){alert('aa'); var overlay = $(\ "a.ShowOverlay \")。overlay({api:true});

    overlay.close();
}
于 2014-12-24T21:16:15.050 に答える