设置 HTML 中的属性后,滑动滑块将 class 添加到活动幻灯片
Swiper slider add class to active slide when attribute in HTML is set
我想在活动幻灯片设置属性时将 class 添加到导航栏,例如 "navbar-dark"。我尝试使用 class 但我的功能并不完美。当我更改幻灯片时,class 添加到第二张幻灯片而不是第一张幻灯片。
$(document).ready(function () {
var mySwiper = new Swiper('.swiper-container', {
direction: 'horizontal',
loop: false,
mousewheel: {
invert: false,
},
});
mySwiper.on('slideChange', function (realIndex) {
if ($('.swiper-slide.swiper-slide-active').hasClass('dark')) {
$('#navbar').addClass('darknav')
} else {
$('#navbar').removeClass('darknav');
}
});
});
我用谷歌搜索 "swiper jQuery plugin",打开第一个建议页面并转到 the API。
还有 Events section,还有 .on init
方法。试试看
jQuery(function($) {
function darkNav() {
//if ( $('.swiper-slide.swiper-slide-active').hasClass('dark') ) { // `this` rather?
if ( $(this).find('.swiper-slide-active').hasClass('dark') ) {
$('#navbar').addClass('darknav')
} else {
$('#navbar').removeClass('darknav');
}
}
var mySwiper = new Swiper('.swiper-container', {
direction: 'horizontal',
loop: false,
mousewheel: {
invert: false,
},
on: {
init: darkNav, // do also on init
slideChange: darkNav // is this needed?
}
});
});
此外,您可以尝试使用 $(this).find('.swiper-slide-active').hasClass('dark')
而不是 $('.swiper-slide.swiper-slide-active').hasClass('dark')
我想在活动幻灯片设置属性时将 class 添加到导航栏,例如 "navbar-dark"。我尝试使用 class 但我的功能并不完美。当我更改幻灯片时,class 添加到第二张幻灯片而不是第一张幻灯片。
$(document).ready(function () {
var mySwiper = new Swiper('.swiper-container', {
direction: 'horizontal',
loop: false,
mousewheel: {
invert: false,
},
});
mySwiper.on('slideChange', function (realIndex) {
if ($('.swiper-slide.swiper-slide-active').hasClass('dark')) {
$('#navbar').addClass('darknav')
} else {
$('#navbar').removeClass('darknav');
}
});
});
我用谷歌搜索 "swiper jQuery plugin",打开第一个建议页面并转到 the API。
还有 Events section,还有 .on init
方法。试试看
jQuery(function($) {
function darkNav() {
//if ( $('.swiper-slide.swiper-slide-active').hasClass('dark') ) { // `this` rather?
if ( $(this).find('.swiper-slide-active').hasClass('dark') ) {
$('#navbar').addClass('darknav')
} else {
$('#navbar').removeClass('darknav');
}
}
var mySwiper = new Swiper('.swiper-container', {
direction: 'horizontal',
loop: false,
mousewheel: {
invert: false,
},
on: {
init: darkNav, // do also on init
slideChange: darkNav // is this needed?
}
});
});
此外,您可以尝试使用 $(this).find('.swiper-slide-active').hasClass('dark')
$('.swiper-slide.swiper-slide-active').hasClass('dark')