我有这个jquery在模式中加载成功消息:
$('#menu_access').load(
site_url + sUrl,
function() {
$(this).dolPopup(oPopupOptions);
}
);
Run Code Online (Sandbox Code Playgroud)
我想在加载后三秒调用此函数:
$('#menu_access').dolPopupHide({});
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做.我不太熟悉.load()函数.
您可以使用jQuery的delay()方法,但是你需要你的插件调用添加使用队列jQuery的.queue()方法.
$('#menu_access').load(
site_url + sUrl,
function() {
$(this).dolPopup(oPopupOptions);
$(this).delay(3000)
.queue( function( nxt ) {
$(this).dolPopupHide({});
nxt();
});
}
);
Run Code Online (Sandbox Code Playgroud)
请注意,.queue()需要调用传递给函数的参数,以便允许下一个动画发生(在任何时候).
作为替代方案,您可以使用setTimeout(),但您需要确保this回调中的值是正确的.
$('#menu_access').load(
site_url + sUrl,
function() {
$(this).dolPopup(oPopupOptions);
var that = this;
setTimeout(function() {
$(that).dolPopupHide({});
}, 3000);
}
);
Run Code Online (Sandbox Code Playgroud)
这this是变量引用的that.
或者您可以使用jQuery的$.proxy()方法来确保正确的含义this.
$('#menu_access').load(
site_url + sUrl,
function() {
$(this).dolPopup(oPopupOptions);
setTimeout($.proxy(function() {
$(this).dolPopupHide({});
}, this), 3000);
}
);
Run Code Online (Sandbox Code Playgroud)
使用电话 setTimeout(...)
$('#menu_access').load(
site_url + sUrl,
function() {
var menuAccess = $(this);
menuAccess.dolPopup(oPopupOptions);
setTimeout(function () {
menuAccess.dolPopupHide({});
}, 3000);
}
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14043 次 |
| 最近记录: |