我正在为我的drupal网站使用幻灯片循环cycle.all.js jquery插件。(http://jquery.malsup.com/cycle/) 我试图在循环一次之后跳过第一张幻灯片。不知道如何做到这一点,有人可以给我提示或解决方案吗?
由于
答案 0 :(得分:1)
也是这样做的 - 使用以下代码来成功
$('.slider').cycle({
after: onAfter;
});
function onAfter(curr,next,opts) {
//if next slide is 0, then it's the first slide. switch to "1", second slide
if(opts.nextSlide == 0 ) {opts.nextSlide = 1};
}
答案 1 :(得分:0)
在插件中,您有选项startingSlide
,它是要开始的幻灯片的索引(0是第一个)。因此,在显示第一张幻灯片后,您可以尝试将此选项更改为1
,以便在下一个周期跳过第一张幻灯片。
这样的事可能有用:
$('#mydiv').cycle({
after: function(currSlideElement, nextSlideElement, options, forwardFlag) {
$(this).cycle({startingSlide: 1});
}
});
答案 2 :(得分:0)
我知道这可能不是最好的方式,但似乎有效。
$(document).ready(function() {
//Call the slider so that the images overlap
$('.slideshow').cycle({
timeout: 800,
speed: 200
});
//Display the first slide for 1000ms
setTimeout(function(){
//Remove first slide
$('.slideshow img:first').remove();
//Reinit the cycle
$('.slideshow').cycle('destroy').cycle({
timeout: 800,
speed: 200
});
}, 1000);
});
答案 3 :(得分:0)
$(window).ready(function() {
$('#slideshow').cycle({
fx: 'fade',
startingSlide: 0,
random: 1,
speed: '200',
timeout:'2000',
delay: 5000,
next: '#next',
prev: '#prev',
slideResize: true,
containerResize: false,
width: '100%',
fit: '1',
cleartypeNoBg: 'true',
cleartype: 'true',
after: onAfter
});
function onAfter(curr,next,opts) {
if(opts.nextSlide == 0 ) {opts.nextSlide = 1};
}
});
$(document.documentElement).keyup(function (e) {
if (e.keyCode == 39)
{
$('#slideshow').cycle('next');
}
if (e.keyCode == 37)
{
$('#slideshow').cycle('prev');
}
});
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
答案 4 :(得分:0)
从管理员到滑块API也可以这样做(但第一张幻灯片可能会闪烁一秒钟:():
var ended = false;
revapi1.bind("revolution.slide.onchange",function (e,data) {
var totalSlides = revapi1.revmaxslide();
if (data.slideIndex === totalSlides) {
ended = true;
}
});
revapi1.bind("revolution.slide.onbeforeswap",function (e, data) {
if (ended && data.nextslide.index() === 0) {
console.log("Slider: skip first slide after loop")
revapi1.revshowslide(2);
ended = false;
}
});