如何在jquery中引入前面点击的div?

时间:2015-08-08 09:23:07

标签: jquery html css bringtofront

我想要点击前面的div,怎么办?

这里我在HTML中添加了一些div:

<div class="div1">A</div>
<div class="div2">B</div>
<div class="div3">C</div>

我在这里用CSS代码设置div的大小:

div {
    width: 100px;
    height: 100px;
    background-color: #666;
    border-color: #333;
    border-style: solid;
    position: absolute;
    line-height: 100px;
    text-align:center;
    font-size:50px;
}
.div1 {
    left: 91px;
    top: 66px;
}
.div2 {
    left: 132px;
    top: 152px;
}
.div3 {
    left: 171px;
    top: 90px;
}

也在这里我想在点击div时更改活动div,点击时应该带到前面,怎么能用Jquery做到:

$(".div1").click(function() {
    // make div 1 front of the screen
})
$(".div2").click(function() {
    // make div 2 front of the screen
})
$(".div3").click(function() {
    // make div 3 front of the screen
})

5 个答案:

答案 0 :(得分:3)

在CSS中为三个div中的每个div指定z-index属性,例如1。然后,在您单击时,增加单击的div的z-index

$('div[class^="div"]').click(function(){
    $(this).css('z-index', 2);
    //reset other sibling div's z-index to default value (i.e. 1)
    $(this).siblings('div').css('z-index', 1);
});

请注意,这里我假设你们所有人都有三个div在相同的容器 div。

答案 1 :(得分:1)

创建一个名为front的类,并将其设置为:

.front{ z-index:100; }

然后根据需要添加/删除此类:

$('.front-on-click').click(function(){
    $('.front').removeClass('front');
    $(this).addClass('front');
});

JSFiddle demo

答案 2 :(得分:0)

$(".div1,.div2,.div3").click(function(){
    //assign all divs `z-index` = 90 including clicked one
    $(".div1,.div2,.div3").css("z-index","90");

    //assign `z-index` = 100 to clicked one
    $(this).css("z-index","100"); 
});

答案 3 :(得分:0)

对div使用z-index,并在单击时更改其他人的z-index值

<强>段:

$(".div1").click(function() {
    $('div[class^="div"]').css('z-index', '0');
    $(this).css('z-index', '10');
})
$(".div2").click(function() {
    // make div 2 front of the screen
  $('div[class^="div"]').css('z-index', '0');
  $(this).css('z-index', '10');
})
$(".div3").click(function() {
    // make div 3 front of the screen
  $('div[class^="div"]').css('z-index', '0');
  $(this).css('z-index', '10');
})
div {
    width: 100px;
    height: 100px;
    background-color: #666;
    border-color: #333;
    border-style: solid;
    position: absolute;
    line-height: 100px;
    text-align:center;
    font-size:50px;
}
.div1 {
    left: 91px;
    top: 66px;
}
.div2 {
    left: 132px;
    top: 152px;
}
.div3 {
    left: 171px;
    top: 90px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div1">A</div>
<div class="div2">B</div>
<div class="div3">C</div>

答案 4 :(得分:0)

您可以使用z-index为定位元素执行此操作。

$('.div1, .div2, .div3').click(function(){   
    $('div').css('zIndex',2);
    $(this).css('zIndex',200);    
});

如果可以限制所有div的zIndex重置,那就更好了。为此,为div添加一个单独的类。

.focusable{
    position:absolute;
}

<div class="div1 focusable">A</div> 
<div class="div2 focusable">B</div>
<div class="div3 focusable">C</div>

$('.focusable').click(function(){   
    $('.focusable').css('zIndex',2);
    $(this).css('zIndex',200);    
});

jsfiddle https://jsfiddle.net/L87ar9ax/中的示例。