Я сейчас пытаюсь связать метод .siblings и .not:
$(nextBanner).siblings(".banner").not(".active").hide();
Но это не работает - кто-нибудь знает, как нацелиться на набор братьев и сестер и исключить тех, которые имеют определенный класс?
Вы можете посмотреть мой пример здесь: http://jsfiddle.net/timkl/56Mqg/25/
Попробуйте:
$(nextBanner).siblings(".banner:not(.active)").hide();
Вы просто забыли удалить класс active. Я немного изменил ваш пример (и я вообще не использую siblings()), чтобы он работал: http://jsfiddle.net/56Mqg/27/
active
siblings()
попробуйте
$(prevBanner).siblings(".banner:not(this)").hide(); // and $(nextBanner).siblings(".banner:not(this)").hide();
также вы можете сделать $(".banner").hide(), а затем $(nextBanner).show();
$(".banner").hide()
$(nextBanner).show();
Попробуйте это
$('.banner').hide(); $(prevBanner).show().addClass("active");
и
$('.banner').hide(); $(nextBanner).show().addClass("active");
В вашем коде есть несколько недостатков, которые я исправил в вашей скрипке. Посмотрите на это.
Рабочая демо