채팅 창을 열거 나 접은 채팅 응용 프로그램을 만들고 있습니다. 그래서 내가 원하는 것은 채팅 창을 열거 나 닫을 지 여부를 저장하는 것입니다. 페이지를 새로 고칠 때 상태가 유지되어야합니다. 그것은 쿠키 또는 세션을 사용하여 수행 할 수 있지만 정확하게 수행하는 방법을 모르겠습니다. 쿠키 나 세션을 사용하여 해당 div의 상태를 저장하려면 어떻게해야합니까? 여기 jquery 코드가 있습니다.페이지로드의 채팅 창 상태 저장
$(document).ready(function(){
$(".shout_msg").click(function(){
var id = $(this).attr('id');
var name = $(this).text();
//var myarray = [];
var sender = "<?php echo $user_check?>";
var receiver = name;
var detect = detectClick(id);
if(!detect){
$('#chatboxcontainer').append("<div id = 'd-"+id+"' class = 'shout_box1'></div>");
$("#d-"+id).append("<div id = 'h-"+id+"' class = 'header1'>'"+name+"'</div>");
$("#h-"+id).append("<div id = 'c-"+id+"' onclick = 'Slide("+id+")' class='close_btn1'> </div>")
$("#d-"+id).append("<div id = 't-"+id+"' class = 'toggle_chat1'></div>");
$("#t-"+id).append("<div id = 'm-"+id+"' class = 'message_box1'></div>");
$("#t-"+id).append("<div id = 'u-"+id+"' class = 'user_info1'></div>");
$("#u-"+id).append('<input name = "shout_message" id = "s-'+id+'" type = "text" placeholder = "Type Message Hit Enter" />');
//alert(id);
$.ajax({
url: "loadmessage.php",
type: "POST",
data:{
'sender': sender,
'receiver': receiver,
},
success: function(response){
var result = JSON.parse(response);
console.log("Result is " +result);
console.log()
for(var i in result){
$("#m-"+id).append('<p class = "shout_msg">' +result[i]+ '</p>');
$("#m-"+id).scrollTop($("#m-"+id)[0].scrollHeight);
}
}
});
}
$("#s-"+id).keypress(function(evt) {
if(evt.which == 13) {
var msg = $("#s-"+id).val();
//msg = msg.replace(":)","<img src = 'smilenew.gif'/>");
var dt = new Date();
var time = dt.getHours() + ":" + dt.getMinutes() + ":" + dt.getSeconds();
$("#m-"+id).append('<p class = "shout_msg" id = "'+count+'">'+sender+':'+msg+'<span class = "time">'+time+'</span></p>');
$.ajax({
url: "insertdatanew.php",
type: "POST",
data:{
'sender': sender,
'receiver': receiver,
'msg': msg,
'time': time
},
success: function(result){
if(result == 'Y')
alert("Successful insertion");
}
});
$("#m-"+id).scrollTop($("#m-"+id)[0].scrollHeight);
//count++;
$("#s-"+id).val("");
}
});
});
});
내 코드는 어떻게 보이나요?
. $ (this)를 사용하면 DOM 객체의 jQuery 객체를 반환한다. '$ (this) .attr ("id")'는 this.id를 훨씬 느리게 처리한다. id, title, href, src, text 등등. jQuery는 오버 헤드이다. –