1

アプリがajaxアプリケーションを起動するときにプログレスバーを追加しました。このプログレスバーはダイアログによってプロンプトが表示されました.ajaxStop関数のコードの下に記述します:

progressbarDialog.dialog("close");
progressbar.progressbar("close");
this.appendDOM.empty(); `

最初の ajax が発生したときはうまく機能しますが、2 回目から、ダイアログとプログレス バーの表示が異常になり、正常な部分の下に空白の部分が表示されます。ダイアログは削除されずに非表示になる可能性があると思います。問題?ダイアログ/進行状況バーの合計を削除するにはどうすればよいですか?

バージョン 2:

progressbarDialog.dialog('destroy').remove();

動作しますが、私のダイアログはモーダル ダイアログです。アプリケーションを起動すると、背景色がどんどん暗くなります ~~~~ 以下は私の機能です。

GSMProgressBar.prototype.showProgressBar = function(){ this.appendDOM.empty(); this.appendDOM.prepend("");
var プログレスバー = $( "#progressBarDialog #プログレスバー" );
var progressbarDialog = $("#progressBarDialog"); $(document).ajaxStart(function(){
var timeoutOption; if(this.config='fast'){ timeoutOption = 300; }else if(this.config='slow'){ timeoutOption = 800; }else{ / /default 250 timeoutOption = 500; } プログレスバー.progressbar({value:false}); function progress() { var val = プログレスバー.progressbar( "値" ) || 0; if ( 値 < 75 ) { プログレスバー.プログレスバー( "値", val + Math.random() * 25 ); }
if(val<99){ setTimeout(progress, timeoutOption ); setTimeout
(進行状況、10); progressbarDialog.dialog({ モーダル: true, 高さ: 110, 幅: 400 }); $(".ui-dialog-titlebar").hide();
}); $(document).ajaxStop(function(){ progressbarDialog.dialog('destroy').remove(); }); };

4

2 に答える 2

0

変更してみてください:

progressbarDialog.dialog("close");

progressbarDialog.dialog('destroy').remove();

これにより、ダイアログが破棄され、ダイアログを保持する要素が削除されます

于 2013-09-09T03:28:15.127 に答える
0

試す:

$("#YOUR_PROGRESS_BAR_ID").remove();

注: DOM から削除した後、プログレスバーを初期化していることを確認してください。

于 2013-09-09T03:28:52.093 に答える