1

ページの水平コーダスライダーを使用して注目のコンテンツを表示していますが、これはほぼ適切に機能しています。私が抱えている唯一の問題は、ID(たとえば<a href="#top">Top</a>)にリンクしているページ上の他のリンクをクリックすると、スライダーがアニメーション化することです。

この例をここで見ることができます-コーダスライダーのナビゲーションタブの1つをクリックしてから、右側のサイドバーの「callcreditnews」または「pressassociation」リンクをクリックしてみてください。あるいは、「ipsumdolor」リンクをクリックしてください。本体コピー。

ユーザー名: demo パスワード: demo

なぜそれがこれを行うのか誰かが知っていますか?jQueryは次のとおりです。

//CODA SLIDER
    if ($('div#slider').length) {
        var $panels = $('#slider .scrollContainer > div');
        var $container = $('#slider .scrollContainer');

        var horizontal = true;

        if (horizontal) {
            $panels.css({
                'float' : 'left',
                'position' : 'relative'
            });

            $container.css('width', $panels[0].offsetWidth * $panels.length);
        }

        var $scroll = $('#slider .scroll').css('overflow', 'hidden');

        function selectNav() {
            $(this)
                .parents('#slider ul.navigation:first')
                    .find('a')
                        .removeClass('selected')
                    .end()
                .end()
                .addClass('selected');
        }

        $('#slider .navigation').find('a').click(selectNav);

        function trigger(data) {
            var el = $('#slider .navigation').find('a[href$="' + data.id + '"]').get(0);
            selectNav.call(el);
        }

        if (window.location.hash == 'plan') {
            trigger({ id : window.location.hash.substr(1) });
        } else {
            $('#slider ul.navigation a:first').click();
        }

        var offset = parseInt((horizontal ? 
            $container.css('paddingTop') : 
            $container.css('paddingLeft')) 
            || 0) * -1;

        var scrollOptions = {
            target: $scroll,
            items: $panels,
            navigation: '#slider ul.navigation a',
            axis: 'xy',
            onAfter: trigger,
            offset: offset,
            duration: 800,
            easing: 'swing'
        };

        $('#slider').serialScroll(scrollOptions);

        $.localScroll(scrollOptions);

        scrollOptions.duration = 1;
        $.localScroll.hash(scrollOptions);

        var $buttons = $('img.right').add('img.left').hide();

        cycleTimer = setInterval(function () {
           $scroll.trigger('next');
        }, 10000); 

        var $stopTriggers = $('#slider .navigation').find('a')
            .add('.scroll')
            .add('.stopscroll')
            .add('.navigation')
            .add("a[href^='#']");

        function stopCycle() {
           clearInterval(cycleTimer);
        }

        $stopTriggers.bind('click.cycle', stopCycle);

        var $startTriggers_start = $('#slider .navigation').find('a')
            .add('.startscroll');

        function startCycle() {
           $buttons.hide();
           $scroll.trigger('next');
           cycleTimer = setInterval(function () {
           $scroll.trigger('next');
           }, 5000); 
        }

        $startTriggers_start.bind('click.cycle', startCycle);
    }
    //END CODA SLIDER
4

0 に答える 0