2012-06-21 51 views
1

此功能,因爲它應該window.setInterval功能並不如點擊功能運行,變量未定義

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的處理程序,但不能綁定?

謝謝:)

+0

使用調試器並找出未定義變量的位置。 – PiTheNumber

+1

爲什麼不把代碼放在一個函數中,而是調用它來代替複製大量的代碼......這也可以避免這樣的錯誤... – ManseUK

回答

2

$activeFPElement.next()應該activeFPElement.next()

您聲明activeFPElement但您使用的是$activeFPElement

+0

這真是愚蠢的我。謝謝你,那個男人 – user629952