タイマーでhtml span要素のテキストを変更する必要があります。 タイマーは正常に機能しますが、スパンの内容を変更することはできません。要素をjQuery関数に渡す
問題はである:
$(element).text(hour);
私はここで何をしないのですか?ここで
私のコードです:
HTML:ここ
<span id="mytimer">00:00</span>
私のJSです:
function loaded(selector, callback){
$(function() {
callback($(selector));
});
$(document).on('DOMNodeInserted', selector, function() {
callback($(this));
});
};
function setupTimer(element, duration, interval) {
var start = Date.now(),
diff,
minutes,
seconds;
clearInterval(window.mytimer);
function timer() {
diff = duration - (((Date.now() - start)/1000) | 0);
minutes = (diff/60) | 0;
seconds = (diff % 60) | 0;
if (minutes < 0) {
minutes = 0;
}
if (seconds < 0) {
seconds = 0;
}
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
hour=minutes + ":" + seconds;
$(element).text(hour);
if (window.mytimer != null & diff < 0) {
clearInterval(window.mytimer);
}
};
timer();
window.mytimer = setInterval(timer, interval * 1000);
};
loaded('#mytimer', function(el){
setupTimer(el,100,1);
});
要素は、あなただけの 'element.text(時間)を使用することができ、既に選択されたjQueryオブジェクトである一緒に入れ;'必要が二回 – Kaddath
@Danielコルソなぜだろうと助けを、それを選択するには? 'time'はテキストを含み、' .text(argument) 'は要素の子要素を渡された引数を含むテキストノードに置き換えるための有効なJqueryメソッドです。 – VKK
@DanielCorzo、なぜ '.html()'は動作するのですか? '' text() '? –