Reputation: 2388
I have a list and when user hover or click on the list then respective image will display on right side.
Below script I am using for add and remove active class from li tags.
$(".listWrap ul li").hover(
function() {
$(this).addClass('active');
},
function() {
if (!$(this).hasClass('clicked')) {
$(this).removeClass('active');
}
}
);
$(".listWrap ul li").click(function() {
$(this).toggleClass('clicked');
});
.listWrap li.active a {
color: #f00;
}
.hoverimg li {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
<section class="">
<div class="container-fluid">
<div class="row">
<div class="col-xxl-6 col-xl-6 col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div class="listWrap">
<ul>
<li><a href="javascript:void(0);">qwerqwer</a></li>
<li><a href="javascript:void(0);">tyuityui</a></li>
<li><a href="javascript:void(0);">opoiuiop</a></li>
<li><a href="javascript:void(0);">mnbvzxcv</a></li>
<li><a href="javascript:void(0);">zxcmnbv</a></li>
<li><a href="javascript:void(0);">mnbvzxcv</a></li>
</ul>
</div>
</div>
<div class="col-xxl-6 col-xl-6 col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div class="listWrap position-relative">
<div class="hoverimg">
<ul>
<li><img src="https://dummyimage.com/600x400/fa17fa/0011ff" alt=""></li>
<li><img src="https://dummyimage.com/600x400/000000/0011ff" alt=""></li>
<li><img src="https://dummyimage.com/600x400/1ee81e/0011ff" alt=""></li>
<li><img src="https://dummyimage.com/600x400/1e35e6/0011ff" alt=""></li>
<li><img src="https://dummyimage.com/600x400/e6d620/0011ff" alt=""></li>
<li><img src="https://dummyimage.com/600x400/fff320/0011ff" alt=""></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
Upvotes: 1
Views: 90
Reputation: 68933
You can probably use the index to hide show images using hide()
/show()
:
$('.listWrap ul li:eq(0)').addClass('active'); // add class on page load to the first linnk
$('.hoverimg ul li:eq(0)').show(); // show the first image li on page load
$(".listWrap ul li").hover(
function() {
$('.listWrap ul li').removeClass('active'); // remove class all of the link li elements
$('.hoverimg ul li').hide(); // hide all image li elements
$(this).addClass('active'); // add the class to the current element
var idx = $(this).index()-1;
$('.hoverimg ul li:eq('+idx+')').show(); // show the respective image li element
}
);
.listWrap li.active a {
color: #f00;
}
.hoverimg li {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
<section class="">
<div class="container-fluid">
<div class="row">
<div class="col-xxl-6 col-xl-6 col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div class="listWrap">
<ul>
<li><a href="javascript:void(0);">qwerqwer</a></li>
<li><a href="javascript:void(0);">tyuityui</a></li>
<li><a href="javascript:void(0);">opoiuiop</a></li>
<li><a href="javascript:void(0);">mnbvzxcv</a></li>
<li><a href="javascript:void(0);">zxcmnbv</a></li>
<li><a href="javascript:void(0);">mnbvzxcv</a></li>
</ul>
</div>
</div>
<div class="col-xxl-6 col-xl-6 col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div class="listWrap position-relative">
<div class="hoverimg">
<ul>
<li><img src="https://dummyimage.com/600x400/fa17fa/0011ff" alt=""></li>
<li><img src="https://dummyimage.com/600x400/000000/0011ff" alt=""></li>
<li><img src="https://dummyimage.com/600x400/1ee81e/0011ff" alt=""></li>
<li><img src="https://dummyimage.com/600x400/1e35e6/0011ff" alt=""></li>
<li><img src="https://dummyimage.com/600x400/e6d620/0011ff" alt=""></li>
<li><img src="https://dummyimage.com/600x400/fff320/0011ff" alt=""></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
Upvotes: 1