Materialise Carousel Slider 自动播放
Materialize Carousel Slider autoplay
是否有参数可以使实体化轮播滑块自动播放?
$('.carousel').carousel();
例如(这个参数不起作用):
$('.carousel').carousel({
autoplay: true
});
谢谢!
我用这个解决了问题:
$('.carousel').carousel({
padding: 200
});
autoplay();
function autoplay() {
$('.carousel').carousel('next');
setTimeout(autoplay, 4500);
}
我遇到了同样的问题,我实现了和你一样的解决方案。我刚刚添加了一个其他功能来在单击向右或向左箭头(按钮)后重新开始间隔。
我的右箭头有 class .fa-angle-right(fontawsome) 和左箭头 .fa-angle-left。
所以我的 Carousel Call 函数如下所示:
$('.carousel').carousel({
full_width: true,
time_constant: 100
});
var carouselAutoplay = setInterval(function() {
$('.fa-angle-right').click();
}, 7000);
$('.fa-angle-right').click(function() {
$('.carousel').carousel('next');
clearInterval(carouselAutoplay);
carouselAutoplay = setInterval(function() {
$('.fa-angle-right').click();
}, 7000);
});
$('.fa-angle-left').click(function() {
$('.carousel').carousel('prev');
clearInterval(carouselAutoplay);
carouselAutoplay = setInterval(function() {
$('.fa-angle-right').click();
}, 7000);
});
尝试像这样执行 next
方法
$('.carousel').carousel();
setInterval(function() {
$('.carousel').carousel('next');
}, 2000); // every 2 seconds
我用这段代码解决了问题:
$('.carousel.carousel-slider').carousel({
fullWidth: true,
padding: 200
}, setTimeout(autoplay, 4500));
function autoplay() {
$('.carousel').carousel('next');
setTimeout(autoplay, 4500);
}
你可以只听轮播 onCycleTo 事件然后 reset/enabled 像这样的自动播放:
var carousel = jQuery('div#home-carousel');
carousel.carousel({
fullWidth: true,
indicators: true,
duration: 300,
onCycleTo : function($current_item, dragged) {
console.log($current_item);
stopAutoplay();
startAutoplay(carousel);
}
});
var autoplay_id;
function startAutoplay($carousel) {
autoplay_id = setInterval(function() {
$carousel.carousel('next');
}, 5000); // every 5 seconds
//console.log("starting autoplay");
}
function stopAutoplay() {
if(autoplay_id) {
clearInterval(autoplay_id);
//console.log("stoping autoplay");
}
}
如果用户将鼠标悬停在旋转木马上,您还可以防止旋转木马滑动:
$('.carousel.carousel-slider').carousel({
fullWidth: true,
indicators: true
});
var autoplay = true;
setInterval(function() {
if(autoplay) $('.carousel.carousel-slider').carousel('next');
}, 4500);
$('.carousel.carousel-slider').hover(function(){
autoplay = false;
}, function(){
autoplay = true;
});
auto-play
延迟 4 秒。
function autoplay() {
$('.carousel').carousel('next');
setTimeout(autoplay, 4000);
}
setTimeout(autoplay, 4000);
我正在使用 materialize-css 和 Angular。这就是我让它自动播放的方法
let iCarousel = new M.Carousel(this.elCarousel.nativeElement, {
fullWidth: true,
indicators: true
});
// this did the trick
setInterval(() => {
iCarousel.next();
}, 2000)
是否有参数可以使实体化轮播滑块自动播放?
$('.carousel').carousel();
例如(这个参数不起作用):
$('.carousel').carousel({
autoplay: true
});
谢谢!
我用这个解决了问题:
$('.carousel').carousel({
padding: 200
});
autoplay();
function autoplay() {
$('.carousel').carousel('next');
setTimeout(autoplay, 4500);
}
我遇到了同样的问题,我实现了和你一样的解决方案。我刚刚添加了一个其他功能来在单击向右或向左箭头(按钮)后重新开始间隔。
我的右箭头有 class .fa-angle-right(fontawsome) 和左箭头 .fa-angle-left。
所以我的 Carousel Call 函数如下所示:
$('.carousel').carousel({
full_width: true,
time_constant: 100
});
var carouselAutoplay = setInterval(function() {
$('.fa-angle-right').click();
}, 7000);
$('.fa-angle-right').click(function() {
$('.carousel').carousel('next');
clearInterval(carouselAutoplay);
carouselAutoplay = setInterval(function() {
$('.fa-angle-right').click();
}, 7000);
});
$('.fa-angle-left').click(function() {
$('.carousel').carousel('prev');
clearInterval(carouselAutoplay);
carouselAutoplay = setInterval(function() {
$('.fa-angle-right').click();
}, 7000);
});
尝试像这样执行 next
方法
$('.carousel').carousel();
setInterval(function() {
$('.carousel').carousel('next');
}, 2000); // every 2 seconds
我用这段代码解决了问题:
$('.carousel.carousel-slider').carousel({
fullWidth: true,
padding: 200
}, setTimeout(autoplay, 4500));
function autoplay() {
$('.carousel').carousel('next');
setTimeout(autoplay, 4500);
}
你可以只听轮播 onCycleTo 事件然后 reset/enabled 像这样的自动播放:
var carousel = jQuery('div#home-carousel');
carousel.carousel({
fullWidth: true,
indicators: true,
duration: 300,
onCycleTo : function($current_item, dragged) {
console.log($current_item);
stopAutoplay();
startAutoplay(carousel);
}
});
var autoplay_id;
function startAutoplay($carousel) {
autoplay_id = setInterval(function() {
$carousel.carousel('next');
}, 5000); // every 5 seconds
//console.log("starting autoplay");
}
function stopAutoplay() {
if(autoplay_id) {
clearInterval(autoplay_id);
//console.log("stoping autoplay");
}
}
如果用户将鼠标悬停在旋转木马上,您还可以防止旋转木马滑动:
$('.carousel.carousel-slider').carousel({
fullWidth: true,
indicators: true
});
var autoplay = true;
setInterval(function() {
if(autoplay) $('.carousel.carousel-slider').carousel('next');
}, 4500);
$('.carousel.carousel-slider').hover(function(){
autoplay = false;
}, function(){
autoplay = true;
});
auto-play
延迟 4 秒。
function autoplay() {
$('.carousel').carousel('next');
setTimeout(autoplay, 4000);
}
setTimeout(autoplay, 4000);
我正在使用 materialize-css 和 Angular。这就是我让它自动播放的方法
let iCarousel = new M.Carousel(this.elCarousel.nativeElement, {
fullWidth: true,
indicators: true
});
// this did the trick
setInterval(() => {
iCarousel.next();
}, 2000)