#jquery #navigation #slideshow #addclass #removeclass
#jquery #навигация #слайд-шоу #addclass #removeclass
Вопрос:
Итак, я создаю простой элемент управления слайд-шоу с помощью этой разметки:
<div class="previous"> </div>
<div class="next"> </div>
<div class="gallery"> </div>
<div class="image-0"> </div>
<div class="image-1"> </div>
<div class="image-2"> </div>
<div class="image-3 active"> </div>
<div class="image-8"> </div>
<div class="image-9"> </div>
<div class="image-10"> </div>
<div class="image-11"> </div>
</div>
и я пытаюсь перемещаться с помощью jQuery следующим образом:
$('.next').click(function() {
$('.active').next().addClass('active');
$('.active').first().removeClass('active');
});
$('.previous').click(function() {
$('.active').prev().addClass('active');
$('.active').last().removeClass('active');
});
Итак, первый блок jQuery работает как ожидалось, сначала присваивая active
класс следующему div, а затем удаляя его из первого. Второй блок должен просто сделать это наоборот, но is не удаляет класс из последнего элемента после добавления его к предыдущему.
Я подхожу к этой проблеме не с той стороны? Или функции first() и last() просто работают по-разному? Из того, что я мог сказать из документов jquery, это должно работать.
Комментарии:
1. Ваш код работает для меня, как и ожидалось jsfiddle.net/GYbRv
2. Хотя в коде есть ошибка границы, код работает нормально jsfiddle.net/6vWx6
3. Спасибо, liho1eye и amit_g. Но что такое ошибка границы?
Ответ №1:
Я создал jsfiddle с вашим кодом, и он отлично работает: http://jsfiddle.net/K5vN4 /
(используйте Firebug или аналогичный для проверки области «Результат» скрипки.)
Комментарии:
1. Это работает на jsfiddle (только что узнал об этом, действительно круто!), Так что моя проблема в другом. Спасибо!