Здравствуйте! Есть такой код:
function show_message(u_id){
if(obj.find("div[select_user_msg='"+u_id+"']").size()==0) {
$("dl.user-info").hide();
$(".msg-input-box").hide();
obj.find(".msg_list").hide();
$("#msg_list").prepend("<div class='loading_user_msg_list msg-dialog-chat-window-cnt'></div>");
setTimeout(function() {
obj.find("#user_msg_list").prepend('<div class="msg_list" select_user_msg="'+u_id+'"></div>');
obj.find("div[select_user_msg='"+u_id+"']").show();
$(".loading_user_msg_list").remove();
$("dl.user-info").show();
$(".msg-input-box").show();
show_message_list(u_id);
},500);
} else {
$("dl.user-info").show();
$(".msg-input-box").show();
obj.find(".msg_list").hide();
obj.find("div[select_user_msg='"+u_id+"']").show();
}
$('.scroll_msg_list').scroll(function(){
var top = $(this).scrollTop(),
max = $('#user_msg_list').height() - $(this).height();
var scroll_percent = (top / max * 100).toFixed(0);
scroll_msg = scroll_percent;
if (scroll_percent == 0 && obj.find("div[select_user_msg='"+u_id+"'] > div[class='noo_message']").size()==0 && message_block_scroll == true) {
message_block_scroll = false;
obj.find("div[select_user_msg='"+u_id+"']").prepend('<div class="message-more"><span class="user_loading"></span></div>');
setTimeout(function() {
ajax_update_message_list(u_id);
},1000);
}
});
}
Проблема в том что когда при загрузке чата открываешь диалог с первым пользователем ajax подгрузка сообщений при скролле работает как надо. А если потом в чате не перезагружая страницы открыть диалог с другим пользователем то при скролле в функцию ajax_update_message_list(u_id); передается сначала u_id предыдущего пользователя а уже при повторном скролле передается u_id нужного пользователя. Почему так происходит и как этого изменить? Когда вызываем функцию ajax_update_message_list(u_id); без скролла то передается u_id нужного пользователя, поэтому я решил что дело в скролле. Может данные в скролле как то кэшируются и как тогда обновлять этот кешь или в чем причина?! Помогите пожалуйста решить эту проблему! Я просто новичок и многого не знаю.