Доработка Slick Slider
Здравствуйте. Довольно давно работаю со слайдером Slick, думаю, многим он известен.
Сейчас встала передо мной такая задача, которую я частично решил, но не могу решить полностью. Вот тут можноувидеть что получилось. В чем суть. Есть 3 иконки "Как купить", "Как оплатить", "Как получить". По сути, они должны работать как радиокнопки. Это я сделал. Так же как и сделал кастомные радиокнопки и кастомные стрелки (так как дизайн не дает возможности расположить стрелки слайдера так как надо). Проблема вот в чем. 1. При клики на иконки не могу сделать так, чтобы радиокнопки и иконки между собой "синхронизировались" так, как при клике на стрелки. И наоборот. 2. Иногда слайдер будто живет своей жизнью. Особенно если, например, на стрелку быстро несколько раз нажать. Помогите, пожалуйста. Прикладываю код, который у меня получился.
$(document).on("click", '.how-top-paging__slide', function() {
$('.how-slider').slick( 'slickGoTo', $(this).data("count"));
$('.how-top-paging span').removeClass('active');
$(this).addClass('active');
})
$(document).on("click", '.how-bottom-paging__slide', function() {
$('.how-slider').slick( 'slickGoTo', $(this).data("count"));
$('.how-bottom-paging span').removeClass('active');
$(this).addClass('active');
})
$(document).on("click", '.how__next-slide', function() {
var findpagingtop = $('.how-top-paging').find('.how-top-paging__slide.active');
if(!$(findpagingtop).is(":last-child")) {
findpagingtop.next().click();
}
var findpagingbottom = $('.how-bottom-paging').find('.how-bottom-paging__slide.active');
if(!$(findpagingbottom).is(":last-child")) {
findpagingbottom.next().click();
}
});
$(document).on("click", '.how__prev-slide', function() {
var findpagingtop = $('.how-top-paging').find('.how-top-paging__slide.active');
if(!$(findpagingtop).is(":first-child")) {
findpagingtop.prev().click();
}
var findpagingbottom = $('.how-bottom-paging').find('.how-bottom-paging__slide.active');
if(!$(findpagingbottom).is(":first-child")) {
findpagingbottom.prev().click();
}
});
Спасибо! |
Цитата:
|
Rise,
Где здесь есть возможность использовать радиокнопки дважды? Их можно включить/ выключить, задать классы. Не более того |
:-?
|
slick 1.6.0 дополнительные кнопки управления
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="https://code.jquery.com/jquery-compat-git.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/jquery.slick/1.6.0/slick.css">
<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery.slick/1.6.0/slick.min.js">
</script>
<style type="text/css">
.how-top-paging__slide.active{
background-color:#FF0000;
}
span{
margin:8px;
}
</style>
<title>Slick variableWidth centerMode</title>
<script>
$(window).on("load", function() {
var slider = $(".how-slider");
slider.slick({
draggable: !1,
arrows: !1,
autoplay: !1
});
var dot = $(".how-top-paging__slide");
slider.on("beforeChange", function(event, slick, currentSlide, nextSlide) {
dot.removeClass("active").eq(nextSlide).addClass("active")
});
dot.on("click", function() {
var i = dot.index(this);
slider.slick("slickGoTo", i)
});
$(".how__prev-slide").on("click", function() {
slider.slick("slickPrev")
});
$(".how__next-slide").on("click", function() {
slider.slick("slickNext")
})
});
</script>
</head>
<body>
<div class="how-top-paging">
<span class="how-top-paging__slide active" data-count="0">11</span><span class="how-top-paging__slide" data-count="1">22</span><span class="how-top-paging__slide" data-count="2">33</span>
</div>
<div class="how-slider">
<div class="hotel-slider__slide hotel-slider__media"><img src="http://placehold.it/360x480&text=Slide+1"></div><!-- /.hotel-slider__slide -->
<div class="hotel-slider__slide hotel-slider__media"><img src="http://placehold.it/720x480&text=Slide+2"></div><!-- /.hotel-slider__slide -->
<div class="hotel-slider__slide hotel-slider__media"><img src="http://placehold.it/360x480&text=Slide+3"></div><!-- /.hotel-slider__slide -->
</div><!-- /.hotel-slider -->
<span class="how__prev-slide">prev</span><span class="how__next-slide">next</span>
</body>
</html>
|
рони,
Спасибо большое! |
| Часовой пояс GMT +3, время: 05:15. |