Here I have multiple div's by default I want to display the first div and when nothing is hovering then also at least any of one div will be displayed.
Can anyone suggest me in the right direction.
$('[class^="cr-box"]').css("opacity", "0");
$('[class^="cr-icon"]').hover(function(i, e) {
var id = $(this).attr('data-id');
var el = $('[class^="cr-box"]')[id - 1];
$(el).css("opacity", "1");
}, function(i, e) {
var id = $(this).attr('data-id');
$('[class^="cr-icon"]').each(function(i, e) {
if (id != $(e).attr('data-id')) {
var el = $('[class^="cr-box"]')[id - 1];
$(el).css("opacity", "0");
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="cr-wrap-icons">
<svg>
<path class="cr-icon cr-icon-1" data-id="1" >icon 1</path>
<img class="cr-icon cr-icon-2" data-id="2" >icon 2</img>
<path class="cr-icon cr-icon-1" data-id="1" >icon 1</path>
<path class="cr-icon cr-icon-3" data-id="3" >icon 3</path>
<img class="cr-icon cr-icon-4" data-id="4" >icon 4</img>
</svg>
</div>
<div class="cr-wrap-box">
<div class="cr-wrap">
<div class="cr-box cr-box-1 active" >test1</div>
</div>
<div class="cr-wrap">
<div class="cr-box cr-box-2" >test2</div>
</div>
<div class="cr-wrap">
<div class="cr-box cr-box-3" >test3</div>
</div>
<div class="cr-wrap">
<div class="cr-box cr-box-4" >test4</div>
</div>
</div>