Я создал слайд-шоу, которое затухает изображения в промежутке с jQuery. Я создал область навигации внизу, которая, когда вы нажимаете на квадрат, показывает этот слайд. Мне нужна помощь.Добавить «активный» класс для навигации слайд-шоу
Когда вы нажимаете на квадрат навигации, время отсчета отключается, пока оно не переходит к следующему естественному слайду.
Мне нужен текущий квадрат слайда, чтобы быть другого цвета. Я пытаюсь добавить класс к квадрату с идентификатором соответствия, но он не добавляет класс.
$("#slideshow1 > div:gt(0)").hide();
var newvar = setInterval(function() {
var currentslide = $('.current').attr('id');
$('#slideshow1 > div:first')
.fadeOut(1000)
.next()
.addClass('current')
.fadeIn(1000)
.end()
.removeClass('current')
.appendTo('#slideshow1');
$('.slider-nav').removeClass('active');
$('.slider-nav[data-number=' + currentslide + ']').addClass('active');
}, 5000);
$(".slider-nav").click(function(e){
e.preventDefault();
var currentID = $(this).attr('href');
$('#slideshow1 > div:first').fadeOut(1000);
$('div'+currentID).fadeIn(1000).nextAll("div.slide").addBack().prependTo("#slideshow1");
$('.slider-nav').removeClass('active');
$('.slider-nav[data-number=' + currentID + ']').addClass('active');
clearInterval(newvar);
newvar = setInterval(function() {
$('#slideshow1 > div:first')
.fadeOut(1000)
.next()
.addClass('current')
.fadeIn(1000)
.end()
.removeClass('current')
.appendTo('#slideshow1');
$('.slider-nav').removeClass('active');
$('.slider-nav[data-number=' + currentID + ']').addClass('active');
}, 5000);
});
Сайт, где это слайд-шоу: http://saratoga.mspaceap.com/
Ваши навигационные элементы и слайды не должны иметь идентичные идентификаторы. Идентификаторы всегда должны быть уникальными. Я вижу, что вы пытаетесь обойти это, используя '.attr ('id')', но это по-прежнему плохая практика. Вместо этого используйте общий атрибут 'data-' или идентификатор типа 'nav1'. – Blazemonger