Я пытаюсь сделать пользовательский слайдер для нескольких отзывов. На рисунке ниже показано, как оно должно работать. Первый отзыв подсвечивается, и когда пользователь нажимает на следующий отзыв, желтый фон должен скользить к нему, цвет шрифта имени и компании должен меняться, а также должен отображаться фактический текст отзыва.
Мне удалось создать функциональную версию, которую вы можете увидеть в этой скрипке или жить на этом веб-сайте. Любые улучшения и объяснения будут высоко оценены (я все еще очень новичок в jQuery).
Вот код jQuery, который я использовал:
$("div.container-slider").click(
function () {
$("div.active-slide").toggleClass("animate", 1000, function () {
$("div.mike").toggleClass("current-font", function () {
$("span").toggleClass("company-current");
}),
$("div.neil").toggleClass("inactive-slide", function () {
$("span").toggleClass("company");
});
}),
$("div.testimonial-text").slideToggle("slow", function () {
$("div.testimonial-text-2").toggleClass("display-none");
});
});
Проблемы:
span
, потому что сейчас скрипт меняет цвет span
на веб-сайте?Похоже, вы уже используете переходы CSS. Вы пытались с ними поиграть?
Используйте this
чтобы ограничить область текущим элементом, как в $(this).find('span')....
или использовать индекс (eq()
) для таргетинга с помощью слайда или предоставить соответствующие интервалы для целевого класса,
Я не уверен, почему вы переключаете свой дисплей - нет класса, но это, вероятно, вызывает резкость. Попробуйте удалить это.
this
чтобы ограничить область. Я использовал классdisplay-none
чтобы скрыть второй отзыв, а затем, пока я сдвигаю первый, я показываю второй. Есть лучший способ сделать это?slideToggle
для обоих элементов.