-4

フリッピング コンテンツ バナーを作成したい。欲しいものとほぼ同じものをなんとか見つけましたが、まだ欲しいものがあります。再生ボタンなしで自動再生して、最後のスライドに到達したときにスライドの効果を最初のスライドに戻すことは可能ですか。助けてくれる人はいますか?私 http://jsfiddle.net/4q3GZ/342/

$(document).ready(function () {
    var height = 300,
        width = 600,
        tabs = 3,
        $tabs = $('.tab'),
        contentNum = 1,
        delay = 2000, // time in milliseconds to pause between tabs
        timer;
    $('.play').click(function () {
        var $t = $(this);
        if($t.hasClass('playing')) {
            // stop
            clearTimeout(timer);
            $t.removeClass('playing').html('play');
        } else {
            // play
            timer = setInterval(function () {
                contentNum++; // change to contentNum--; to go left
                if(contentNum > tabs) {
                    contentNum = 1;
                } // loop right
                if(contentNum < 1) {
                    contentNum = tabs;
                } // loop left
                $tabs.eq(contentNum - 1).find('a').trigger('click');
            }, delay);
            $t.addClass('playing').html('stop');
        }
    });
    $('.main_inner').css({
        width: tabs * width
    });
    $('a.tab_link').click(function () {
        $tabs.filter('.active').removeClass('active');
        $(this).parent().addClass('active');
        // make sure contentNum is a number and not a string
        contentNum = parseInt($(this).attr('rel'), 10);
        $('.main_inner').animate({
            marginLeft: '-' + (width * contentNum - width)
        }, 600);
        return false;
    });
    $('.previous a').click(function () {
        if(contentNum > 1) {
            // find previous tab, trigger a click on the link
            // subtract 2 because eq() uses zero based index
            $tabs.eq(contentNum - 2).find('a').trigger('click');
        }
        return false;
    });
    $('.next a').click(function () {
        if(contentNum < tabs) {
            // find next tab, trigger a click on the link
            // contentNum doesn't need + 1 because it is +1 relative to eq()
            // which is a zero based index
            $tabs.eq(contentNum).find('a').trigger('click');
        }
        return false;
    });
});
4

1 に答える 1

0

ボタンには、コンテンツの#playスライド プロセスを開始する匿名関数に関連付けられたイベント リスナーがあります。その匿名関数を名前付き関数に移動し、ページの読み込みが完了したら呼び出します。

ただし、このような事前にパッケージ化されたソリューションに依存するのではなく、コードがどのように機能するかを理解することに力を注ぐことをお勧めします。グーグルスクリプトを使用してコピーして貼り付けることなく、これを行う方法を学んでください。オンラインの例は参照としてのみ使用してください。

于 2013-03-16T05:16:47.100 に答える