我想要点击前面的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
})
答案 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');
});
答案 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/中的示例。