私の下のコードでは、単語は無作為にdivにプッシュされます。単語は5秒ごとに変更されるはずです。正常な状態で動作します。私が "New"をクリックし、3秒後にすぐに単語が変わるのを見た場合、私は5秒間変化しました。私はなぜ秒以内に変化しないのですか?私の下のコードを見直してください。あなたは「見て」や、予想通り「新しい」単語が変更されたをクリックして、まだアクティブであり、それは関係なく、ユーザがクリックの5秒後に言葉を変えます心のsetIntervalに保つどのように時間間隔を迅速に解決するためにrunniung?
wordlist = []
wordlist.push({
word: "ABUNDANCES",
seen: false
})
wordlist.push({
word: "BOTANOMANCY",
seen: false
})
wordlist.push({
word: "CALUMNIATED",
seen: false
})
wordlist.push({
word: "DECISIONING",
seen: false
})
wordlist.push({
word: "ENCAPSULATE",
seen: false
})
wordlist.push({
word: "FINGERNAILS",
seen: false
})
wordlist.push({
word: "GALLIVANTED",
seen: false
})
wordlist.push({
word: "HEADBANGING",
seen: false
})
wordlist.push({
word: "IMPASSIONED",
seen: false
})
wordlist.push({
word: "JEWELFISHES",
seen: false
})
wordlist.push({
word: "KILOGRAMMES",
seen: false
})
wordlist.push({
word: "LAMPLIGHTER",
seen: false
})
wordlist.push({
word: "MANICURISTS",
seen: false
})
wordlist.push({
word: "NEPHROTOXIC",
seen: false
})
function loadRandom() {
n = Math.floor(Math.random() * wordlist.length);
$("#status").text(wordlist[n].word);
}
$(function() {
var interval = setInterval(loadRandom, 5000);
});
loadRandom(); // for initial display
function seen() {
loadRandom();
}
function unseen() {
loadRandom();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="status" class="keyword">Test</div>
<a class="btn waves-effect red" id="seen" onClick="seen()">Seen</a>
<a class="btn waves-effect red" id="unseen" onClick="unseen()">New</a>
ご希望のものを明確にしてください。間隔を5秒に設定しますが、間隔をすばやく実行する必要があります。もしそうなら、間隔を5000(5秒)よりも小さくすることができます。 – Sovary
通常では、5秒以内に単語が変化します。 "New"と "Seen"ボタンをクリックすると3秒以内に変更されます。しかし、私はそれがVAR値= 0をinitalizeする必要があるすべて5秒間これでプログレスバーを追加する必要が5000 – user7393779