我被这样的代码困了4个小时:
$.loader = function (msg) {
jQuery.prompt.close();
$.prompt(msg, { buttons: { }, show: 'fadeIn', promptspeed: 50, overlayspeed: 'fast' });
}
function my_function() {
jQuery.prompt.close();
$.loader('saving..');
$.ajax({
type: "POST",
url: dir + "save.php",
data: form,
success: function(html){
jQuery.prompt.close();
$.loader('loading..')
$.ajax({
type: "POST",
url: dir + "load.php",
data: form,
success: function(html){
jQuery.prompt.close();
}
}
})
}
$('#next').live('click', function () {
$.loader('processing..');
my_function()
})
任务很简单。单击#next 后,它应该首先显示带有“处理”对话框的对话框,稍后应该关闭它并显示“保存”。ajax 成功调用后,它应该使用“正在加载”对话框加载新数据,然后消失。一切都很完美,除了让我发疯的一件事——加载后出现带有“正在加载”文本的对话框,尽管我最后使用了 jQuery.prompt.close()。我为此奋斗了 4 个小时,我已经受够了……请帮忙……我做错了什么?我使用 jquery 1.7.1。
编辑:我找到了解决方案。不是真的,但它解决了我的问题:我发现 impromptu 使用 .jqimessage 类来获取对话框中显示的文本。我没有制作新对象然后再销毁它,而是先制作一次,然后再销毁它。同时,我只更改 .jqimessage 框中的一条消息。效果很好 - 看起来最简单的方法是最好的 :) 感谢您的帮助。