2

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

谢谢

4

5 回答 5

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}; 
}
于 2013-03-20T16:54:45.800 回答
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]+"'");
}
于 2014-05-20T10:45:58.660 回答
0

在插件中,您可以选择 startingSlide要开始的幻灯片的索引(0 是第一个)。因此,在显示第一张幻灯片后,您可以尝试更改此选项以1在下一个周期跳过第一张幻灯片。

像这样的东西可能会起作用:

$('#mydiv').cycle({ 
    after: function(currSlideElement, nextSlideElement, options, forwardFlag) {
        $(this).cycle({startingSlide: 1});
    }
});
于 2013-02-01T12:31:34.860 回答
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/

于 2013-02-01T12:35:02.183 回答
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;
    } 
});
于 2017-08-24T15:02:45.580 回答