-1

誰かが私を助けてくれることを願っています、私はこのサイトに実装しようとしているこのスクロール動作に関する他の問題を解決しているので、この問題について少しイライラしています...私のサブメニューを見ると(左側)は、スクロールするときにウィンドウの位置に従います。または、サブメニューの任意のオプションをクリックすると、アニメーションがトリガーされます。問題のように思われるのは、2回クリックするたびに、それが機能しないことです。もう一度クリックすると、機能します...

これが私のコードです

変数

var startDistance = 210;
var $scrollingDiv = $("#sub-menu");
var position = $("#footer").position();
var height = $("#sub-menu").height();
var pos = position.top - (height + 460);

これは、ユーザーとアニメーションスクロールで異なります

$("body,html").bind("scroll mousedown DOMMouseScroll mousewheel keyup", function(e){
            if ( e.which > 0 || e.type === "mousedown" || e.type === "mousewheel"){
                 if($(window).scrollTop() > startDistance && $(window).scrollTop() < pos) {

                    $scrollingDiv.stop().animate({
                        paddingTop: ($(window).scrollTop() - 75) + "px"
                    }, 'slow');

                }
                if($(window).scrollTop() == 0) {
                    $scrollingDiv.stop().animate({
                        paddingTop: 0
                    }, 'slow');
                }
            }
     });

クリック動作

$("#sub-menu ul li a").live('click', function(ev) {
            var $anchor = $(this);
            console.log($anchor.attr('href'));
            $('html, body').stop().animate({
                scrollTop: $($anchor.attr('href')).offset().top
            }, 1500,'easeInOutExpo', function() {
                $scrollingDiv.stop().animate({
                    paddingTop: ($($anchor.attr('href')).offset().top - 556) + "px"
                }, 'slow');
            });
        event.preventDefault();
    });

それは最も愚かなことかもしれませんが、私は何が起こっているのかを理解することができずに、最後の1時間画面を見てきました。

編集:スクロールコードの動作も投稿しています。これは、クリックコードだけでなく、グローバルな問題である可能性があるためです。

前もって感謝します!

4

1 に答える 1

3
[22:00:25.137] ReferenceError: event is not defined @ http://altivamedia.com/pruebas/romulos/wp/wp-content/themes/romulos/_/js/functions.js:45

event代わりに誤って書いたev

        });
    event.preventDefault();
});

event定義されていないので、ReferenceErrorがスローされます。正しい変数を使用するだけです。

        });
    ev.preventDefault();
});

述べる

このようなエラーを自分で見つけるには、ブラウザのエラーコンソールを使用してください。

于 2013-01-11T20:59:08.337 に答える