我把这项工作搞砸了。
我有一个审批系统,用户点击链接批准或拒登帖子。
所有内容都加载了ajax调用,因此当用户执行单击操作时,会弹出一个信息窗口,提醒用户注意成功或错误,然后重新加载内容。
脚本正在运行,但只在第一次点击时才有效。在第二次单击时,消息会在内容重新加载之前立即闪烁并消失。
有人可以帮我这个吗?
这是代码
function activateSource(id) {
$("#confirm-activate-" + id).toggle('slow');
$(document).on('click', '.confirm-activate', function (e) {
e.preventDefault();
$.ajax({
type: "POST",
cache: false,
data: {
"source-id": id
},
url: "modules/source/activatesource.php",
success: function (data) {
$("#confirmation-response").html(data);
dismissAlert();
}
})
});
}
function dismissAlert() {
setTimeout(function () {
$("#confirmation-response").hide('blind', function () {
loadSourceContent()
}, 500);
}, 2500);
}
答案 0 :(得分:2)
如果一切正常,除了消息在第一次尝试后闪烁并消失,您的hide功能出现问题。在再次调用hide之前,您需要显示“确认 - 响应”,否则它只会闪烁。
尝试使用此 -
function dismissAlert() {
// Show the response
$("#confirmation-response").show( 'blind', 150 );
// Hide the response with a timeout
setTimeout(function () {
$("#confirmation-response").hide('blind', function () {
loadSourceContent()
}, 500);
}, 2500);
}
请参阅this fiddle了解演示。
您可能也想查看一次this问题。