如何将 jquery 中点击的 div 置于最前面?
how can bring to front clicked div in jquery?
我想把点击的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
})
创建一个名为 front
的 class 并将其样式设置为:
.front{ z-index:100; }
然后 add/remove 这个 class 根据需要:
$('.front-on-click').click(function(){
$('.front').removeClass('front');
$(this).addClass('front');
});
$(".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");
});
对 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>
为三个 div 中的每一个指定一个 z-index
属性,例如 1
,在您的 CSS 中。然后在您点击后,增加被点击的 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。
您可以使用 z-index 定位元素。
$('.div1, .div2, .div3').click(function(){
$('div').css('zIndex',2);
$(this).css('zIndex',200);
});
如果能在这里限制所有div的zIndex重置就更好了。为此,为 div 添加一个单独的 class。
.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/ .
我想把点击的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
})
创建一个名为 front
的 class 并将其样式设置为:
.front{ z-index:100; }
然后 add/remove 这个 class 根据需要:
$('.front-on-click').click(function(){
$('.front').removeClass('front');
$(this).addClass('front');
});
$(".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");
});
对 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>
为三个 div 中的每一个指定一个 z-index
属性,例如 1
,在您的 CSS 中。然后在您点击后,增加被点击的 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。
您可以使用 z-index 定位元素。
$('.div1, .div2, .div3').click(function(){
$('div').css('zIndex',2);
$(this).css('zIndex',200);
});
如果能在这里限制所有div的zIndex重置就更好了。为此,为 div 添加一个单独的 class。
.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/ .