私はいくつかの js/jQuery に取り組んでいますが、問題が発生しました。
x 秒ごとに関数を実行するタイマーがあります。ただし、問題は、タイマーが 1 回しか実行されないように見えることです。何人かの友人に尋ねましたが、彼らも何が悪いのか知りませんでした。
誰かが手がかりを持っているなら、お願いします!
<script type="text/javascript">
var id = 0;
var count = 0;
var obj;
console.log(id);
function getTweetsWithQuery(q) {
console.log('getTweetsWithQuery did run');
$.ajax({
type: "GET",
url: "ajax.php",
data: "q=" + q,
success: function(msg){
obj = jQuery.parseJSON(msg);
start();
}
});
console.log('getTweetsWithQuery finished');
}
function updateTweets(obj) {
var count = 0;
$('#tweet' + id).animate({opacity: 0}, 1).delay(500);
$('#tweet' + id).text(obj[count].text);
$('#tweet' + id).delay(500).animate({opacity: 1}, 500);
console.log(obj[count].text);
console.log('updateTweets did run');
if(id == 9){
id = 0;
}else {
id++;
}
if(count == obj.length){
count = 0;
}else {
count++;
}
console.log('Next id: ' + id);
console.log('Next count: ' + count);
}
function start() {
console.log('start did run')
var timer = $.timer( updateTweets(obj) );
timer.set( { time : 500, autostart : true } );
}
</script>
getTweetsWithQuery() 関数は、html 内から呼び出されます。