1

この機能は正常に動作し、

window.setInterval(function(){
    var active = $('#frontpageControls a.active');
    var next = active.next().length > 0 ? active.next() : $('#frontpageControls .first'); 
        active.removeClass("active");
        next.addClass("active");
    var activeFPElement=$("#MainFrontpage li:visible");
    var nextFPElement = activeFPElement.next().length > 0 ? activeFPElement.next() : $('#MainFrontpage .first');
    activeFPElement.hide();
    nextFPElement.show();

        //alert($next.text());
    }, 5000);

ただし、これで同じコマンドを実行すると

$("#frontpageArrows .right").bind("click", function() {
        var active = $('#frontpageControls a.active');
        var next = active.next().length > 0 ? active.next() :    $('#frontpageControls .first'); 
        active.removeClass("active");
        next.addClass("active");
        var activeFPElement=$("#MainFrontpage li:visible");
        console.log(activeFPElement+ " Fpelement ");
        var nextFPElement = $activeFPElement.next().length > 0 ? $activeFPElement.next() : $('#MainFrontpage .first');
        activeFPElement.hide();
        nextFPElement.show();
        return false;
    });

関数が正しく実行されず、activeFPElement が定義されていないというエラーが表示されます。この関数が setInterval のハンドラーとして機能するのに bind のハンドラーとして機能しない理由について、誰か助けてもらえますか?

ありがとうございました :)

4

1 に答える 1

2

$activeFPElement.next()する必要がありますactiveFPElement.next()

宣言しactiveFPElementましたが、使用しています$activeFPElement

于 2012-06-21T09:17:22.310 に答える