我有一個類似Facebook的聊天。 (你可以看到它@http://www.live-pin.com/)。它從JSON文件獲取最後的消息,併爲每個用戶插入一個單獨的UL,它在檢查ul是否存在以及它是否不存在之前創建。現在的問題是,當我點擊1個聊天欄時,3會同時打開,只有當我點擊最後一個時纔會關閉,我該怎麼辦?我想這個酒吧只打開/關閉時點擊聊天欄,但不會點擊not_clickable。感謝您的幫助在1個對象中應用jQuery函數live()
$(document).ready(function(){
getOnJSON();
setInterval("getOnJSON()", 60000);
var Id;
var target;
});
function showChat(obj){
$(obj).animate({marginBottom : "0"}).removeClass("hidden_box").addClass("active_box").unbind('click')/*.click(function(){
hideChat(this);
})*/;
}
function hideChat(obj){
$(obj).animate({marginBottom : "-270px"}).removeClass("active_box").addClass("hidden_box").unbind('click')/*.click(function(){
showChat(this);
})*/;
}
function getOnJSON(){
var self = this; // Added this line, as this changes scope in each()
var from;var to;var msg_id;var msg_txt;var new_chat_string;
//Getting the data from the json file
$.getJSON("/ajax/chat.json.php",function(data){
$.each(data.notif, function(i,data){
from = data.from;to = data.to;msg_id = data.id;msg_txt = data.text;
if ($("#chat_"+from+"_lp").length === 0){
$("#boxes").append('<div id="chat_'+from+'_lp" class="chat_box hidden_box clickable_box"><div id="chat_'+from+'_nick" class="chat_name">'+from+'</div><div class="not_clickable"><ul id="chat_'+from+'_txt" class="chat_txt"><li id="' + msg_id + '">'+ msg_txt+'</li></ul><form class="chat_new_message" name="new_msg"><input type="text" placeholder="Enter your message..." class="chat_new_input"/></form></div></div>');
$('.hidden_box #chat_'+from+'_nick').live("click", function(){ showChat('#chat_'+from+'_lp'); });
$('.active_box #chat_'+from+'_nick').live("click", function(){ hideChat('#chat_'+from+'_lp'); });
}else{
$("#chat_"+from+"_txt").append('<li id="' + msg_id + '">'+ msg_txt+'</li>');
$('.hidden_box #chat_'+from+'_nick').live("click", function(){ showChat('#chat_'+from+'_lp'); });
$('.active_box #chat_'+from+'_nick').live("click", function(){ hideChat('#chat_'+from+'_lp'); });
}
});
});
}
僅供參考的例子,過多的評論不*不*使代碼更易讀 – ThiefMaster 2012-02-11 17:54:20
爲什麼有這麼多unnecesary評論?這使它很難閱讀。 – elclanrs 2012-02-11 17:54:51
什麼不起作用?請更詳細地描述問題。 – kapa 2012-02-11 18:02:07