Я работал над Slider, используя flex-slider.У меня появилась идея синхронизировать два flexsliders в один, как мы делаем с Owl-каруселью.Поскольку анимированная подпись к изображению анимируется вместе с изображением, мне нужно использовать два флайслайдера, потому что я хочу, чтобы анимация подписи гибких дисков отличалась от анимации изображения.Я синхронизировал их с помощью этого Ответа Но теперь я застрял в двух моментах:
1) Я хочу, чтобы стрелки тоже синхронизировались.Как вы можете видеть в моем коде, я сгруппировал flex-direction-navs.Теперь я хочу изменить оба слайда по нажатию кнопки, но это не работает, так как имеет наслоение на него.
2) Я хочу, чтобы кнопка пользовательского таргетинга была активной в зависимости от активного слайда.например, я на третьем слайде и хочу, чтобы третий тег привязки был активным, как изменение цвета и т. д.
Надеюсь, я четко объяснил свою проблему.Если вам нужна дополнительная информация, пожалуйста, прокомментируйте ниже.
Вот ссылка Codepen .Далее следует код.
jQuery(document).ready(function($) {
$('#main-slider').flexslider({
animation: "slide",
slideToStart: 0,
start: function(slider) {
$('a.slide_thumb').click(function() {
$('.flexslider').show();
var slideTo = $(this).attr("rel") //Grab rel value from link;
var slideToInt = parseInt(slideTo) //Make sure that this value is an integer;
if (slider.currentSlide != slideToInt) {
slider.flexAnimate(slideToInt) //move the slider to the correct slide (Unless the slider is also already showing the slide we want);
}
});
}
});
$('#secondary-slider').flexslider({
animation: "slide",
slideToStart: 0,
start: function(slider) {
$('a.slide_thumb').click(function() {
$('.flexslider').show();
var slideTo = $(this).attr("rel") //Grab rel value from link;
var slideToInt = parseInt(slideTo) //Make sure that this value is an integer;
if (slider.currentSlide != slideToInt) {
slider.flexAnimate(slideToInt) //move the slider to the correct slide (Unless the slider is also already showing the slide we want);
}
});
}
});
});
.slider-wrap {
position: relative;
width: 700px;
margin: 0 auto
}
#secondary-slider {
position: absolute;
top: 0;
right: 0;
width: 50%;
}
.flex-direction-nav .flex-prev,
.flexslider:hover .flex-direction-nav .flex-prev,
.flexslider:hover .flex-direction-nav .flex-next,
.flex-direction-nav .flex-next {
top: unset;
left: unset;
right: unset;
bottom: unset;
}
.flexslider:hover .flex-direction-nav .flex-prev:hover,
.flexslider:hover .flex-direction-nav .flex-prev:hover {
opacity: 1;
}
#main-slider .flex-direction-nav .flex-prev,
#secondary-slider .flex-direction-nav .flex-prev {
position: absolute;
top: 20px !important;
right: 0 !important;
opacity: 1;
}
#main-slider .flex-direction-nav .flex-next,
#secondary-slider .flex-direction-nav .flex-next {
position: absolute;
top: 120px !important;
right: 0;
opacity: 1;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/flexslider/2.7.1/jquery.flexslider.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/flexslider/2.7.1/flexslider.css" rel="stylesheet" />
<div class="slider-wrap">
<div id="main-slider" class="flexslider">
<ul class="slides">
<li>
<img src="https://via.placeholder.com/350x150" />
</li>
<li>
<img src="https://via.placeholder.com/350x150" />
</li>
<li>
<img src="https://via.placeholder.com/350x150" />
</li>
<li>
<img src="https://via.placeholder.com/350x150" />
</li>
</ul>
</div>
<div id="secondary-slider" class="flexslider">
<ul class="slides">
<li>
<p>Text 1</p>
</li>
<li>
<p>Text 2</p>
</li>
<li>
<p>Text 3</p>
</li>
<li>
<p>Text 4</p>
</li>
</ul>
</div>
<a rel="0" class="slide_thumb" href="#">slide link 1</a>
<a rel="1" class="slide_thumb" href="#">slide link 2</a>
<a rel="2" class="slide_thumb" href="#">slide link 3</a>
<a rel="3" class="slide_thumb" href="#">slide link 3</a>