jquery循环通过淡入淡出div

时间:2013-11-06 22:37:40

标签: jquery cycle

我需要在第一次显示页面加载时使所有DIV显示无。此刻它们都会立刻显现然后逐渐消失,旋转器在第一次旋转时就会起作用。

(function($) {

$.fn.testimonialrotator = function(o) {

    var defaults = {
        settings_slideshowTime : '5',
        settings_autoHeight : 'on'
    }

    o = $.extend(defaults, o);
    this.each( function() {
        var cthis = jQuery(this);
        var cchildren = cthis.children();
        var currNr=0;
        var timebuf=0;
        var slideshowTime = parseInt(o.settings_slideshowTime);
        setInterval(tick, 1000);
        cthis.height(cchildren.eq(currNr).height());
        cchildren.eq(0).css('position', 'absolute');
        function tick(){
            timebuf++;
            if(timebuf>slideshowTime){
                timebuf=0;
                gotoNext();
            }
        }
        function gotoNext(){
            var arg=currNr+1;
            if(arg>cchildren.length-1){
            arg=0;
            }
            cchildren.eq(currNr).fadeOut('slow');
            cchildren.eq(arg).fadeIn('slow');
            if(o.settings_autoHeight=='on'){
                cthis.animate({'height' : cchildren.eq(arg).height()})
            }
            currNr=arg;
        }
        return this;
    })
}
})(jQuery)

2 个答案:

答案 0 :(得分:1)

最快的解决方案是将display none应用为内联样式。

或者在脚本标记中,只需将display none应用于要隐藏的元素:在加载时,而不是在jquery ready中。

答案 1 :(得分:1)

我会这样做...

$('my_divs').hide();
$('my_divs').first().show();

在你做其他任何事情之前进入你的脚本。