私たちはgithubで戦艦ゲームを構築しています。 ページがロードされた後にのみjavascriptプロンプトが表示されます
ここで、ユーザーは船の名前と位置を入力し、答えに基づいて、domsoleというテキストエリアに出力を表示します。
Domsole = (function($) {
var output;
var init = function(outname) {
output = $('#'+outname);
output.attr('disabled', 'disabled');
};
var ask = function(question) {
write(question);
var text = prompt(question);
write('> ' + text);
return text;
};
var write = function(text) {
output.append(text + "\n");
output.scrollTop(9999999999);
};
return {
ask: ask,
init: init,
write: write
};
})(jQuery);
$(document).ready(function() {
Domsole.init('domsole_out');
});
ただし、ページが読み込まれる前にすべてのプロンプトが表示されます。
プロンプトの一部は
this.name = Domsole.ask("What's your name, Playa?");
Domsole.write("Alright, " + this.name + " you shall be.");
........
......
var coord = Domsole.ask("Where would you like to take a shot? Valid input is: x, y");
Domsole.writeとDomsole.askがdocument.readyでもある呼び出すこれらのコードをしています。 何かが画面に表示される前に、すべてのプロンプトが表示されますか?この問題を解決するには?
あなたが提供したコードの2番目のスニペットは、ask/writeメソッドを呼び出すことがドキュメントの準備ができていないと言っていますか? @paris_serviola – Taplar
呼び出し/書き込みメソッドであるコードも、ドキュメントの準備ができています –
window.onloadを使用します。この質問への回答を参照してください。http://stackoverflow.com/questions/21742867/jquery-ready-vs-window-onload#21742922 – david25272