使用 div 更改 Active Slick Carousel

use*_*abc 3 html javascript css jquery slick.js

我们使用光滑的轮播,这样我们<div class='item__wrapper'>一次只能显示一张幻灯片。下面是三个items,单击 后item,应该更新光滑的轮播。

问题

  1. 当用作item__boxes轮播时slick,我们所有的样式都搞乱了,所以我们不能这样做$('.item__boxes).slick({});
  2. 当单击 中的第一个、第二个或第三个时itemitem__boxes始终item__wrapper设置为slide 3

问题

  • 我们如何设置才能使其item__boxes在点击时item符合我们的目标?例如,单击第二张itemitem__boxes设置item__wrapper为第二张幻灯片。

目标/预期结果:

  1. 单击第一个item,将第一张幻灯片设置为活动幻灯片item__wrapper
  2. 单击第二张时item,将第二张幻灯片设置为活动幻灯片item__wrapper
  3. 单击 Third 时item,将第三张幻灯片设置为活动幻灯片item__wrapper
  4. 1-3不做就完成所有目标$('.item__boxes).slick({});

代码:

$('.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);
});
Run Code Online (Sandbox Code Playgroud)
.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%;
  }
}
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)

小智 5

尝试这个。

$('.item__wrapper').slick({
  infinite: true,
  speed: 1500,
  dots: false,
  prevArrow: false,
  nextArrow: false
});

$('[data-slide]').click(function(e){
  var slideno = $(this).data('slide');
  $('.item__wrapper').slick('slickGoTo', slideno);
});
Run Code Online (Sandbox Code Playgroud)
.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%;
  }
}
Run Code Online (Sandbox Code Playgroud)
<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" 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"  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-slide="0">
						<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-slide="1">
					<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-slide="2">
					<div>Distinctively Title</div>
					<div>Distinctively strategize long-term high-impact ideas whereas client-centered leadership skills.</div>
				</div>
	</div>
Run Code Online (Sandbox Code Playgroud)