[英]Hide all other divs with the same name on div hover, show hovered div
我有一個PHP生成的優惠券列表,所有優惠券都帶有div id(#coupon)和(.coupon_hover)類
當用戶將鼠標懸停在一個名為#coupon的div上時,我希望所有其他名為#coupon的div消失,除了正在懸停的那個。 我最好只在CSS中這樣做。
我已經能夠將所有優惠券隱藏在使用以下代碼懸停的優惠券下方:
#coupon:hover ~ .coupon_hover {
display:none;
}
我做了一個小提琴https://jsfiddle.net/04t5psbu/2/
看看當您將鼠標懸停在第二張優惠券上時,第一個保留,最后一個隱藏,我想要這樣,以便當其中任何一個懸停時,所有其他的隱藏都接受時,div的名稱必須保持其名稱就像(#coupon)它不能是#coupon1#coupon2等等....
感謝您的任何幫助
您可以嘗試如下操作:
注意:
visibility: hidden
而不是display: none
。 display: none
將改變DOM結構,從而使您的焦點元素轉移並最終觸發焦點。 嘗試這樣的事情。
隱藏元素可以通過將display屬性設置為none來完成。 該元素將被隱藏,並且頁面將顯示為該元素不在其中。 可見性:隱藏; 也隱藏一個元素。 但是,該元素仍將占用與以前相同的空間。
$(".coupon").on("mouseover",function(){ $(".coupon").not(this).css("visibility","hidden"); }); $(".coupon").on("mouseout",function(){ $(".coupon").css("visibility","visible"); });
.coupon{ width:100px; height:70px; background-color:green; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div class="coupon"> Coupon 1 </div> <div class="coupon"> Coupon 2 </div> <div class="coupon"> Coupon 3 </div> <div class="coupon"> Coupon 4 </div>
如果您想在CSS中執行此操作,則可以為您提供幫助。
<div id="coupon-container">
<div id="coupon1" class="custom-size">
One
</div>
<div id="coupon2" class="custom-size">
Two
</div>
<div id="coupon3" class="custom-size">
Three
</div>
<div id="coupon4" class="custom-size">
Four
</div>
</div>
CSS:
.custom-size{
height:150px;
width:600px;
border: 1px solid red;
}
#coupon-container:hover div[id^='coupon']:not(:hover) {
display: none;
}
通過找到其他元素的id並將其隱藏,可以在javascipts中完成相同的操作。 希望這可以幫助。
您可以使用jquery並在用戶借助鼠標事件瀏覽某個優惠券時隱藏所有其他優惠券。
$(function() {
// on mouse enter hide other and show current one
$(".coupon_hover1").mouseenter(function(event) {
$(".coupon_hover1").each(function() {
$(this).hide();
});
$(this).show();
});
// on mouse leave show all coupons as before
$(".coupon_hover1").mouseleave(function(event) {
$(".coupon_hover1").each(function() {
$(this).show();
});
});
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.