#jquery #slideshow #intervals
#jquery #слайд-шоу #интервалы
Вопрос:
У меня есть слайд-шоу. При наведении на него курсора интервал очищается.При наведении курсора начинается интервал. Функция интервала перемещает активный класс (который был добавлен при наведении курсора мыши на один из li) в следующий li. Чтобы запустить его, я должен запустить функцию наведения курсора мыши на одном из файлов слайд-шоу. Когда я завершаю работу, я очищаю интервал, но в то же время удаляю активный класс, поскольку мышь больше не находится ни над какими символами li. Итак, пока что я добился того, что слайд-шоу запускается снова, но только с первого li. Как мне сохранить последнее наведение курсора мыши li, а затем запустить слайд-шоу оттуда? Ниже приведен мой код…
var timer, autoAdvance = function(){$("#accordion-slider li:first").addClass('first');$("#accordion-slider li:last").addClass('last');var currentSlide=$("#accordion-slider .active");var nextSlide=$("#accordion-slider .active").next();(!currentSlide.is('.last'))?$(nextSlide).trigger('mouseover'):$("#accordion-slider .first").trigger('mouseover')/*.next().addClass('next')*/;}
var timer = setInterval(autoAdvance,2000);
$().ready(function() {
//using kwicks plugin for slides
$('#accordion-slider').kwicks({
max : 500,
spacing : 5,
});
$('#accordion-slider').hover(function () {
clearInterval(timer);
}, function () {
timer = setInterval(autoAdvance, 2000);
$("ul#accordion-slider li:first").trigger('mouseover');
});
Ответ №1:
Я бы не сказал, что ваш подход — лучший. Но, я думаю, всему этому нужно учиться. Для хранения данных используйте атрибут data(). вы можете использовать данные на аккордеонном слайдере следующим образом
//-- set
$("ul#accordian-slider").data("somekey", "somevalue");
//-- get
$("ul#accordian-slider").data("somekey");