1

我有一个简单的 div,它使用 Jquery 切换功能进行切换。

我遇到的问题是效果不会相反?

$('.mydiv').on('mouseover', function() {
    $('.mydiv').not(this).addClass('inactive');
})

$('.mydiv').on('mouseout', function() {
    $('.mydiv').removeClass('inactive');
})    
.mydiv {
    width: 520px;
    height: 260px;
    float: left;
    position: relative;
    margin-bottom:40px;
    transition:all 10s ease; 
    opacity: 1;
}

.mydiv.inactive {
    transition:all 10s ease; 
    opacity: 0.2;
}
4

2 回答 2

1

还有另一种方法可以通过仅使用 css 来做到这一点。

 .mydiv {
        width: 520px;
        height: 260px;
        float: left;
        position: relative;
        margin-bottom:40px;
         transition:all 10s ease; 
         opacity: 1;
         transition:all 10s ease;
    }
   .mydiv:hover {
      opacity: 0.2;
   }

工作示例https://jsfiddle.net/69wn8046/1/

于 2016-10-06T09:13:16.893 回答
0

mouseover你想要.mydiv selector to addClass .inactive的第二行,你阻止它添加它,第二个是transition-duration你已经声明10s transition:all 10s ease;减少了它以看到相反的效果。

  $('.mydiv').on('mouseenter', function() {
    $(this).addClass('inactive');
});

 $('.mydiv').on('mouseleave', function() {
    $(this).removeClass('inactive');
});
.mydiv {
        width: 520px;
        height: 260px;
        float: left;
        position: relative;
        margin-bottom:40px;
         transition:all 1s ease; 
         opacity: 1;
         background:#111;
    }


    .mydiv.inactive {
         transition:all 1s ease; 
         opacity: 0.2;
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mydiv">

</div>

于 2016-10-06T09:14:18.257 回答