jQuery循环页数更改“onSlide”

时间:2013-04-15 19:39:11

标签: javascript jquery jquery-cycle

如果此处还有其他问题,Google或我都无法找到。首先,感谢任何回复。

这是我的设置。它与你的正常(“#item”)有点不同。周期();有点事情,但有一些复杂的设置与此。我只是包含桌面变量,其中包含基于matchMedia结果传递的所有内容。

var desktop = {
    next: "#next_slide",
    prev: "#prev_slide",
    speed: 2000,
    pager: "#pag",
    easeIn: 'easeOutQuad',
    easeOut: 'easeInQuad',
    fx: 'custom',
    height: '314px',
    cssBefore:{  
        left: '-20%',
        opacity: 0,
        display: 'block'
    },
    cssAfter:{ 
        display: 'none',
        opacity: 0
    }, 
    animIn: {  
        left: '0%',
        opacity: 1 
    }, 
    animOut: {  
        left: '20%',
        opacity: 0
    },
    sync: false,
    'timeout': 7000,
    after: function(currSlideElement, nextSlideElement, options, forwardFlag){
         $('#controls p').html( (options.currSlide + 1 ) + ' <em>of</em> ' + options.slideCount)
    }
}

我需要一种方法来获得“幻灯片x的x”来改变ON SLIDE。目前,轮换将转换,然后数字将改变。我知道这是一种带有循环的默认设置,但我想知道在滑动过程中或滑动过程中我是否可以做任何事情来改变幻灯片数量。这是一个挑剔的客户请求,我被告知,如果我不能这样做,那就没有害处。这主要是好奇心。

如果您需要更多代码,我可以添加它,但我真的认为只是滑块的基本配置变量就足够了,因为它不是错误/错误,而是更多的想法请求,那么它应该做得好我也会给你一个设置的小提琴,但目前在一些时间限制下,并将在等待答案时做其他更改。此外,它将提供访问权限,但整个内部网络锁定完整,其他人无法访问。

1 个答案:

答案 0 :(得分:2)

我认为您可以考虑在事件前执行此操作,其超时等于或略小于fx持续时间。这些方面的东西:

演示:http://jsfiddle.net/lucuma/ny2Tj/5/

var desktop = {
    next: "#next_slide",
    prev: "#prev_slide",
    speed: 2000,
    pager: "#pag",
    easeIn: 'easeOutQuad',
    easeOut: 'easeInQuad',
    fx: 'custom',
    height: '314px',
    cssBefore:{  
        left: '-20%',
        opacity: 0,
        display: 'block'
    },
    cssAfter:{ 
        display: 'none',
        opacity: 0
    }, 
    animIn: {  
        left: '0%',
        opacity: 1 
    }, 
    animOut: {  
        left: '20%',
        opacity: 0
    },
    sync: false,
    'timeout': 7000,
    before: function(currSlideElement, nextSlideElement, options, forwardFlag){
       var $opts= options;
       setTimeout(function() {
            $('#controls p').html( ($opts.currSlide + 1 ) + ' <em>of</em> ' + $opts.slideCount)
       }, 7000);
    }
}