我创建了以下函数:
//Toggle height of header-foto function
function height_toggler() {
$('body').toggleClass('large-slider small-slider',500);
$('#height-toggler').find('i').toggleClass('fa-rotate-270 fa-rotate-90');
}
当用户单击按钮时,我调用此函数:
// bind the function to a click on the toggler
$('#height-toggler').click( function() {
height_toggler();
});
这非常有效,您可以在此页面上实时查看它
我的客户还希望此功能绑定在引导轮播的slide
事件上,并且仅在具有 100% 高度轮播的页面上绑定。我想出了以下代码,但每次轮播滑动时都会触发(我理解)。如何使其仅在页面加载后的第一张幻灯片上触发?
if( $('body').hasClass('large-slider') ) { //only perform this on large sliders
$('.carousel').on('slide.bs.carousel', function () {
height_toggler();
});
}
您可以使用 one() 方法。
if( $('body').hasClass('large-slider') ) { //only perform this on large sliders
$('.carousel').one('slide.bs.carousel', function () {
height_toggler();
});
}
如果你希望一个事件只执行一次,你可以使用 .one() 代替.on()
if( $('body').hasClass('large-slider') ) { //only perform this on large sliders
$('.carousel').one('slide.bs.carousel', function () {
height_toggler();
});
}