我正在为我的drupal 网站使用slideshow cycle.all.js jquery 插件。( http://jquery.malsup.com/cycle/ ) 我试图在第一张幻灯片循环一次后跳过它。不知道该怎么做,有人可以给我提示或解决方案吗?
谢谢
我正在为我的drupal 网站使用slideshow cycle.all.js jquery 插件。( http://jquery.malsup.com/cycle/ ) 我试图在第一张幻灯片循环一次后跳过它。不知道该怎么做,有人可以给我提示或解决方案吗?
谢谢
也在努力解决这个问题 - 使用以下代码成功
$('.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};
}
$(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]+"'");
}
在插件中,您可以选择 startingSlide
要开始的幻灯片的索引(0 是第一个)。因此,在显示第一张幻灯片后,您可以尝试更改此选项以1
在下一个周期跳过第一张幻灯片。
像这样的东西可能会起作用:
$('#mydiv').cycle({
after: function(currSlideElement, nextSlideElement, options, forwardFlag) {
$(this).cycle({startingSlide: 1});
}
});
我知道这可能不是最好的方法,但它似乎有效。
$(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);
});
也可以从管理员通过滑块 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;
}
});