私は自分のドキュメントに追加しようとしているJavaScript関数を持っていて、リアルタイムで更新されているという感覚を与えています。 MVCコントローラへのAJAX呼び出しで、JSON結果を返し、それを一番上のリストに追加し、最後のliを非表示にして最後のliを削除します。Javascript関数は正しく8回、その後はいつも
問題は、機能が完璧に8回動作し、つまらないということです。最初の8回の後、関数はリストの最後の項目を隠すだけです。だから、最初の8つの実行後に、私のリストは、1つの李スクリプトの他のすべての実行によって成長:私はこの作業を取得するためにいくつかのことを試してみました
<script type="text/javascript">
$(document).ready(function() {
function latestBranch() {
$.getJSON("Home/LatestWristband", null, function (html) {
var showHideSpeed = 200;
var firstLI = $("#recentBranches ul li").first();
if (firstLI.text() !== html) {
firstLI.before('<li>' + html + '<\li>');
$("#recentBranches ul li").first().hide().show(showHideSpeed);
$("#recentBranches ul li").last().hide(showHideSpeed/4,
function() {
$("#recentBranches ul li").last().remove();
});
}
});
};
setInterval(latestBranch, 500);
});
</script>
:
はここに私の関数です。私の最初の考えは、スクリプトが最後のリスト項目を取り除くことよりも間隔が速かったことです。しかし、これをgetのために5000の間隔でテストし、要素のhide/showのために1000をテストしました。次の呼び出しの前に少なくとも3000ms余分に。私は8回の後に同じ問題を得るしかし
$("#recentBranches ul li").last().remove();
:に
$("#recentBranches ul li").last().hide(showHideSpeed/4,
function() {
$("#recentBranches ul li").last().remove();
});
:私もこれを変更しようとしています。それは毎回働くだけのこのリズムになった後、それはindefinetlyにそれを保つが、それはそうだ。私は気付いてみましたが、私はこれらの症状を説明するものを見つけることができませんでした...
誰かが私が完了した後に自分自身を呼び出す関数の再帰的なオプションで代わりのsetTimeoutを使用することを示唆していたこの行は
の変化(1秒は空白です) 、遅れて。私はそれを試みましたが、同じ問題があります。私はブラウザのキャッシュをクリアして、ブラウザのスクリプトが今変更したものであることを確認しました。 – tostringtheory