在第一个循环jQuery循环插件后跳过第一张幻灯片

时间:2013-02-01 12:24:30

标签: jquery drupal slideshow jquery-cycle skip

我正在为我的drupal网站使用幻灯片循环cycle.all.js jquery插件。(http://jquery.malsup.com/cycle/) 我试图在循环一次之后跳过第一张幻灯片。不知道如何做到这一点,有人可以给我提示或解决方案吗?

由于

5 个答案:

答案 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);
});

http://jsfiddle.net/Q8HK3/3/

答案 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;
    } 
});