アクションが発生している間に、ユーザーの進行状況を簡単に表示しようとしています。これをやっている間、jquery-uiのダイアログはすべてのjavascriptが終了するまで開いていないことに気付きました。jquery-uiダイアログがすぐに開かない
私はいくつかの擬似コードを作成しましたが、一例は、問題を示しています の作業例:http://jsbin.com/isivus
コード
<!DOCTYPE html>
<html>
<head>
<link class="jsbin" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js"></script>
<meta charset="utf-8">
<title>HoL</title>
</head>
<script>
$(function() {
$('#dialog').dialog({
autoOpen: false,
width: 600,
modal: true,
closeOnEscape: false
});
$(".ui-dialog-titlebar").hide();
$("#progressbar").progressbar({
value: 0
});
$('input').click(function() {
$('#dialog').dialog('open');
for (i = 0; i < 100000; i++) {
var span = document.getElementById('span');
$('span').text(i);
}
});
});
</script>
<body>
<div id="dialog">
<span class="dialogText">text</span>
<div id="progressbar"></div>
</div>
<input type="button" value="Click me!" />
<span id="span"></span>
</body>
ループが終了するまでダイアログが開きません。ループを実行している間にダイアログを表示してテキストを更新したいのを見ると、これは実際には機能しません。
私はjavascriptの専門家でないと問題があなたがたのうち、それが実行している間、
Heh!そのデモに対する私の反応:恐ろしい!それで私のコードに合うようにうんざりして、私は今問題を見る。ありがとう! – Tjirp