0
온라인 사용자 목록을 보여주는 채팅 응용 프로그램을 만들고 있으므로 온라인 사용자 한 명을 클릭하면 채팅 창이 열리 며 동일한 사용자를 다시 클릭하면 새 창이 열립니다 . 내가 원하는 것은 사용자가 동일한 사용자를 다시 클릭 할 때 새 채팅 창을 생성해서는 안되며 이전에 열었던 대화 창을 표시해야합니다. 그 조건은 무엇입니까? 여기 JQuery와 기능여러 번 클릭 한 번만 요소 표시
$(".shout_msg").click(function() {
var id = $(this).attr('id');
var name = $(this).text();
$('body').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+"' 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" />');
$("#s-"+id).keypress(function(evt) {
if(evt.which == 13) {
var msg = $("#s-"+id).val();
// msg = msg.replace(":)","<img src = 'smilenew.gif'/>");
var sender = "<?php echo $user_check?>";
var receiver = name;
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("");
}
});
});
이봐, 난 당신이하지 않았다이다. 내 코드와 관련하여 나에게 줄 수 있니? 나는 jquery에 완전히 익숙하다. –