ユーザーが多数のチャットウィンドウを開くことができるサイトがあります。
最新のウィンドウを一番上に保持する必要があり、次を使用しています
var chatZIndex = 100;
$(document).on('mousedown','div.chatMessenger', function() {
$(this).css('z-index', chatZIndex++);
});
これは正常に機能しますが、1つのバグが見つかりました。6つのチャットボックスが開いている場合(「div.chatMessenger」の6つのインスタンス)、変数chatZIndexは一度に6ずつ増加します。4を開き、4ずつインクリメントします。
これと同じ設定を使用する方法はありますが、開いている「div.chatMessenger」のインスタンスの数に関係なく、一度に1ずつ変数をインクリメントするだけです。
どうも
これはそれらを設定するための現在のコードです
var memberID = 1000000000; // This is the Member ID - REPLACE
var chatMsgTop = 45; // Initial Chat Open Location Top
var chatMsgLeft = 45; // Initial Chat Open Location Left
var chatZIndex = 100; // Starting Number for Chat Messenger z-index Value
// Chat Messenger - Open a New Chat Messager IM Box
$(document).on('click','div#chatFriendsContainer table tr', function() {
memberID++; // This is the Member ID - REPLACE
// Increment Initial Chat Messaging Location on Windows - Avoid Overlap
chatMsgTop += 10;
chatMsgLeft += 10;
var timeStamp = Math.round((new Date()).getTime() / 1000); // Timestamp
$('div#chatWrapper').append('<div id="'+memberID+'" class="chatMessenger" data-timestamp="'+timeStamp+'"></div>'); // Create new Chat IM Container
$('div#chatMessengerTemplate div.chatMessengerContainer').clone().appendTo('div#'+memberID); // Clone Template
$('div#'+memberID).css({left : chatMsgLeft+'px', top : chatMsgTop+'px'}); // Update IM Location
// JQUERY UI Draggable - Initialize
$('div#'+memberID).draggable({
containment: $('div#chatWrapper')
});
// JQUERY UI Draggable - Update Z-Index
$(document).on('mousedown','div.chatMessenger', function() {
//$('div.chatMessenger').not(this).css('z-index', '100');
//alert('here now...');
if($('div.chatMessenger', this)) {
$(this).css('z-index', chatZIndex++);
}
});