我在這裏做的是某種聊天界面,您可以在窗口中拖動您的在線和離線聯繫人。我堅持嘗試創建一個函數來檢查您是否已經打開聊天窗口以避免重複的窗口。這是我到目前爲止的鏈接。 s2.enigmind.com/jgonzalez/nodeChat我希望你們能看到它。檢查元素是否不在數組中以打開窗口
這是我追加窗口元素這個函數得到一些參數,我從JSON獲得的參數,這些參數是用戶ID名稱和狀態的函數。
function displayChatWindow(user, status, avatar, id){
var template = _.template($("#windowTemplate").html(), {userName: user, userStatus: status, userAvatar: avatar, userId: id});
stackingWidth = stackingWidth - boxWidth;
/*console.log(stackingWidth);*/
$("body").prepend(template);
$(".messages-container").slimScroll({
height: '200',
size: '10px',
position: 'right',
color: '#535a61',
alwaysVisible: false,
distance: '0',
railVisible: true,
railColor: '#222',
railOpacity: 0.3,
wheelStep: 10,
disableFadeOut: false,
start: "bottom"
});
$("#" + id).css({
top: absoluteY,
left: stackingWidth
});
$("#" + id).find(".minimize").on("click", displayOthersChat);
$(".chat input, .chat textarea").on("focus", cleanInputs);
$(".chat input, .chat textarea").on("blur", setInputs);
addWindow(id, stackingWidth);
}
什麼我在我的全球範圍內被稱爲var openedWindows = [];
一個數組,這個數組中,我追加的用戶ID和位置與addWindow功能。
function addWindow(id, offset){
openedWindows.push({
id: id,
offset: offset
})
}
到目前爲止,每次我打開一個新的窗口,這個人是添加到陣列中的時候,我一直在使用一個for循環來看看用戶和ID已在陣中,但我不」實際上我知道如何構造我的代碼,因爲沒有辦法在第一次檢查用戶是否在數組中,因爲數組是空的,我會很感激,如果你們知道我可以如何實現這一點,我知道我的代碼是不是最好的,這一切都是爲了我的學習目的,所以我接受所有類型的提示!非常感謝你。
你可以做'$( 「#」 + ID).length'到看看這個元素是否存在,真的不需要數組? – adeneo
我在o_O –