JQuery ターミナルの例のコードを使用して、コンソール ウィンドウで入力されたアニメーションをエミュレートしています。アニメーションを意図したとおりに動作させることはできますが、アニメーションの進行中、アニメーションが完了するまで特別な HTML 文字が表示されません。たとえば、アニメーションの実行中、コンソールは ' \
' ではなく ' ' をレンダリングします。
この問題は、アニメーション化されている div のクラスに割り当てられたスタイルにも適用されます。アニメーションが完了するまで、スタイルは表示されません。
以下は、アニメーション化に使用されるコードです (JQuery ターミナルのサンプル ページから引用)。
var anim = false;
function typed(finish_typing) {
return function(term, message, delay, finished, classname) {
anim = true;
var prompt = term.get_prompt();
var c = 0;
if (message.length > 0) {
term.set_prompt('');
var interval = setInterval(function() {
term.insert(message[c++]);
if (c == message.length) {
clearInterval(interval);
// execute in next interval
setTimeout(function() {
// swap command with prompt
finish_typing(term, message, prompt, classname);
anim = false
finish && finish();
}, delay);
}
}, delay);
}
};
}
var typed_message = typed(function(term, message, prompt, classname) {
if (typeof classname === "undefined") { classname = "default"; }
term.set_command('');
term.echo(message, {
finalize: function(div) { div.addClass(classname); }});
term.set_prompt(prompt);
});
そして、それがどのように呼び出されているかの例:
E.match(/^\s*ping\s*$/i)?
typed_message(N, "PONG", 10, function(){finished = true;}, "pong"):
この場合、 によって div 出力に割り当てられた「pong」クラスに適用されたスタイルtyped_message
は、テキストの入力が完了するまで表示されません。
アニメーションの実行中にスタイルや特殊文字を表示する方法はありますか?