Как сделать разные интервалы bxslider для каждого изображения, а также с временным интервалом использовать localalstorage - PullRequest
0 голосов
/ 10 февраля 2019

Я хочу, чтобы слайдер использовал bxslider, чтобы интервал был разным для каждого изображения, а также интервал времени для локального хранилища, но мой код кажется неправильным.интервал изображения 5 с и т. д., поэтому для каждого изображения интервал отличается, а интервал времени использует localalstorage

это мой код jsfiddle.net/noval_id/4qbs5jw0/

1 Ответ

0 голосов
/ 13 февраля 2019

У вас не было многократных задержек, потому что вы не запускали свою функцию снова, если вы хотите разные значения задержки, вам придется запускать ее снова и снова для разных значений задержки, которые вы сохранили в массиве.

$(document).ready(function (){
var startIndex = localStorage.getItem("currentIndex");

if (startIndex == null)
  startIndex = 0;

var ImagePauses = [1000,30000,2000,9000,12000,15000];
var slider = $('.bxslider').bxSlider();
modifyDelay(0)

function modifyDelay(startSlide){
    slider.reloadSlider({
        mode: 'horizontal',
        infiniteLoop: true,
        auto: true,
        autoStart: true,
        autoDirection: 'next',
        autoHover: true,
        pause: ImagePauses[startSlide],
        autoControls: false,
        pager: true,
        pagerType: 'full',
        controls: true,
        captions: true,
        speed: 500,
        startSlide: startSlide,
        onSlideAfter: function($el,oldIndex, newIndex){
            modifyDelay(newIndex) // here run it again with new index
            save($el, oldIndex, newIndex)
        } 
    });
}
});
function save($el, oldIndex, newIndex) {
  localStorage.setItem("currentIndex", newIndex);
}

Также оберните ваш код jquery в функцию $(document).ready.

...