$(function(){ //初始化设置 var zIndex = 1; $('.div1').css('zIndex', zIndex); zIndex += 1; $('.div2').css('zIndex', zIndex); zIndex += 1; $('.div3').css('zIndex', zIndex); zIndex += 1; //窗体点击事件 $('div').click(function(){ var thisDOM = $(this); var baseStartY = thisDOM.offset().top, baseEndY = baseStartY + thisDOM.height(); var baseStartX = thisDOM.offset().left, baseEndX = baseStartX + thisDOM.width(); var baseCenterX = baseStartX + (thisDOM.width() / 2); var baseZIndex = parseInt(thisDOM.css('zIndex')); $('div:not(.' + thisDOM.attr('class') + ')').each(function(){ //整理好四角坐标 var thisStartY = $(this).offset().top, thisEndY = thisStartY + $(this).height(); var thisStartX = $(this).offset().left, thisEndX = thisStartX + $(this).width(); var thisCenterX = thisStartX + ($(this).width() / 2); var thisZIndex = parseInt($(this).css('zIndex')); //依次比较四角坐标 var flag = false; if(thisZIndex > baseZIndex){ if(thisStartX >= baseStartX && thisStartX <= baseEndX && thisStartY >= baseStartY && thisStartY <= baseEndY){ flag = true; }else if(thisStartX >= baseStartX && thisStartX <= baseEndX && thisEndY >= baseStartY && thisEndY <= baseEndY){ flag = true; }else if(thisEndX >= baseStartX && thisEndX <= baseEndX && thisStartY >= baseStartY && thisStartY <= baseEndY){ flag = true; }else if(thisEndX >= baseStartX && thisEndX <= baseEndX && thisEndY >= baseStartY && thisEndY <= baseEndY){ flag = true; } } if(flag){ if($(this).attr('class') == 'div1'){ alert('红色'); }else if($(this).attr('class') == 'div2'){ alert('蓝色'); }else if($(this).attr('class') == 'div3'){ alert('黄色'); } } }); $(this).css('zIndex', zIndex); zIndex += 1; }); });
<div class="div1"></div> <div class="div2"></div> <div class="div3"></div>
div{position:absolute;width:200px;height:100px;background:#fff} .div1{top:100px;left:270px;background:red} .div2{top:50px;left:240px;background:blue} .div3{top:75px;left:300px;background:yellow}