jquery + zindex 递增

标签 jquery html css

<分区>

Possible Duplicate:
Jquery Draggable + Bring to Front

我有一个网站,用户可以在其中打开多个聊天窗口。

我需要将最新的窗口放在最前面,我正在使用以下内容

        var chatZIndex = 100;   
        $(document).on('mousedown','div.chatMessenger', function() {
            $(this).css('z-index', chatZIndex++);
        });

这工作正常,但我发现了一个错误。如果打开了 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++);
        }


    });

最佳答案

我怀疑您没有正确创建新的聊天窗口。如果你有这样的东西,你的代码应该可以正常工作:http://jsfiddle.net/thetext/VT8j8/ . - 你的聊天元素都是兄弟。

但是我认为你有这样的东西:http://jsfiddle.net/thetext/F84Aa/ . - 您的聊天元素嵌套在前一个元素中。

关于jquery + zindex 递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12683346/

相关文章:

php - 在程序使用 ajax 检查用户名可用性后插入查询时遇到问题

jquery - 使用 <p> 将特定元素后的文本换行

javascript - StickorStay JQuery 函数,错误

html - 隐藏其他框阴影的背景颜色

jquery - 如何通过单击按钮更改表单输入的只读属性

javascript - 如何找到这个数字的CSS单位

javascript - 使用 Createjs 和 Chartjs

javascript - 使用 Jquery 打开页面时,有没有办法对某些东西产生 css 效果

html - 是否可以在 html 中加载外部 css "specific some lines"?

CSS 过渡和 z-index