We have implemented the slick carousel to show only one slide at a time within the
<div class='item__wrapper'>
. Beneath this are three items
, and we want the slick carousel to update when any of these items are clicked.
Issues
- Using
item__boxes
as aslick
carousel causes styling conflicts, preventing us from using$('.item__boxes).slick({});
- Clicking on any item in
item__boxes
always sets theitem__wrapper
toslide 3
Query
- How can we configure the
item__boxes
so that clicking on an item aligns with our intended outcomes? For example, clicking on the seconditem
should set theitem__wrapper
to the second slide.
Goal/Expected Results:
- Clicking on the first
item
should make the first slide active initem__wrapper
- Clicking on the second
item
should activate the second slide initem__wrapper
- Clicking on the third
item
should display the third slide as active initem__wrapper
- Achieve goals
1-3
without utilizing$('.item__boxes).slick({});
Code:
$('.item__wrapper').slick({
infinite: true,
speed: 1500,
dots: false,
prevArrow: false,
nextArrow: false
});
$('.item__boxes').on('click', function() {
var slickIndex = $(this).attr('data-slick-index');
$('.item__wrapper').slick('slickGoTo', slickIndex);
});
.filter {
width: 100%;
height: 100%;
padding: 45px;
margin-right: -45px;
}
.item {
display: none;
position: relative;
}
.item.active {
display: block;
}
.item1 {
background-image: url("https://placeimg.com/1000/480/nature");
}
.item2 {
background-image: url("https://placeimg.com/640/480/arch");
}
.item3 {
background-image: url("https://placeimg.com/640/480/tech");
}
.item__wrapper {
max-width: 60%;
position: relative;
background-size: cover;
background-repeat: no-repeat;
background-color: rgba(238, 238, 238, 0.5);
}
.item__img img {
top: 0px;
position: absolute;
width: 100% !important;
opacity: 0.5;
}
.item__text {
top: 0px;
position: relative;
min-height: 100%;
line-height: 1.4;
padding-right: 70px;
z-index: 5;
display: flex;
flex-direction: column;
align-items: top;
justify-content: center;
}
.item__boxes {
display: flex;
position: relative;
opacity: 0.9;
}
.item__boxes > div {
border: 1px solid;
}
.col-padding {
padding: 16px 16px 5px 16px;
}
.col-m-12 {
width: 100%;
}
@media (min-width: 1024px) {
.col-t-6 {
width: 50%;
}
}
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.css"/>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick-theme.css"/>
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.js"></script>
<div class="item__wrapper">
<div class="item active" id='item1'>
<div class="item__text">
<div class="filter">
<h3>Some title 1</h3>
<p>Efficiently communicate sticky quality vectors after compelling growth strategies. Compellingly scale future-proof content rather than enterprise users. Uniquely build scalable applications vis-a-vis performance based functionalities. Monotonectally procrastinate.</p>
</div>
</div>
</div>
<div class="item active" id="item2" >
<div class="item__text">
<div class="filter">
<h3>Some title 2</h3>
<p>Efficiently communicate sticky quality vectors after compelling growth strategies. Compellingly scale future-proof content rather than enterprise users. Uniquely build scalable applications vis-a-vis performance based functionalities. Monotonectally procrastinate.</p>
</div>
</div>
</div>
<div class="item active" id="item3" >
<div class="item__text">
<div class="filter">
<h3>Some title 3</h3>
<p>Efficiently communicate sticky quality vectors after compelling growth strategies. Compellingly scale future-proof content rather than enterprise users. Uniquely build scalable applications vis-a-vis performance based functionalities. Monotonectally procrastinate.</p>
</div>
</div>
</div>
</div>
<div class="item__boxes">
<div class="box col-m-12 col-t-6 col-padding" data-slick-index="-1">
<div>Some Title</div>
<div>Enthusiastically incubate diverse initiatives without multifunctional strategic theme areas.</div>
</div>
<div class="box col-m-12 col-t-6 col-padding" data-slick-index="0">
<div>Globally Title</div>
<div>Globally impact integrated infomediaries via seamless mindshare. </div>
</div>
<div class="box col-m-12 col-t-6 col-padding" data-slick-index="1">
<div>Distinctively Title</div>
<div>Distinctively strategize long-term high-impact ideas whereas client-centered leadership skills.</div>
</div>
</div>