0

我需要让所有 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)
4

2 回答 2

1

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

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

于 2013-11-06T22:44:31.757 回答
1

我会做这样的广告......

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

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

于 2013-11-07T00:36:34.090 回答