我試圖建立一個使用twitch api的列表,當用戶想要查看誰在流式傳輸,誰不在時更新列表。例如,當我按下脫機按鈕時,列表應該只包含「流」值爲空的用戶。這裏是我的html:爲什麼陣列失去它的價值?
<div class="container-fluid">
<div id="menu">
<ul class="menubar">
<li><a id="all" href="#">All</a></li>
<li><a id="online" href="#">Online</a></li>
<li><a id="offline" href="#">Offline</a></li>
</ul>
<div id="users">
<ul class="members">
</ul>
</div>
</div>
</div>
這裏是我的JavaScript(用jQuery已經導入):
var users = ["MedryBW", "freecodecamp", "storbeck", "terakilobyte", "habathcx","RobotCaleb","thomasballinger","noobs2ninjas","beohoff"];
var listOffline = [];
$(document).ready(function(){
$.each(users, function(i , val){
$('.members').append("<li>" + val + "</li>");
});
$('#offline').on('click', function(){
$.each(users, function(i , val){
$.getJSON("https://api.twitch.tv/kraken/streams/" + val , function(data){
if(data['stream'] == null) {
listOffline.push(val);
}
});
});
$('.members li').remove();
$.each(listOffline, function(i , val) {
$('.members').append("<li>" + val + "</li>");
});
});
});
爲什麼「listOffline」陣列失去在第一年底推到它的價值。 $('#offline')。on('click')函數中的每個塊?任何幫助解決這個問題將不勝感激
這是接近,但在調用'$(「會員禮。」)刪除();'將導致只需要添加的最後一個項目。(因爲所有其他人都剛剛被刪除) – pherris
我剛剛編輯它,它現在在調用$之前刪除成員列表。每個 – Dola
這是更好的,但你會最終得到像「MedryBW」,「MedryBW」,「freecodecamp」,「MedryBW」,「freecodecamp」,「storbeck」(大量重複),因爲整個陣列是附加到每個循環的'ul'上 - 您無法循環訪問'listOffline'並追加到此回調中的DOM中。 – pherris