2011-10-05 33 views
0
$(document).ready(function() 
{ 
    $(".menubutton").click(function() 
     { 
     var $id=$(event.target.id.substring(0,2)); 
     $(".active").animate({"top": "-=1000px"}, speedanim); 
     $("div#homedrawer div").filter($(".active")).removeClass("active"); 
     $("#"+$id).animate({"top": "+=1000px"}, speedanim); 
     $("#"+$id).addClass("active"); 
     return false; 
     }); 

}); 

上面的代碼生成此錯誤「的目標沒有定義」指的是行:JQuery的 - 爲什麼我得到「目標沒有定義」

var $id=$(event.target.id.substring(0,2)); 

這是HTML:

<a id="fesbtn" class="menubutton" href="#"><img src="img/menu/fes.png" alt="" /></a> 
<a id="futbtn" class="menubutton" href="#"><img src="img/menu/fut.png" alt="" /></a> 
<a id="reibtn" class="menubutton" href="#"><img src="img/menu/rei.png" alt="" /></a> 
... 

顯然我的語法錯了。有什麼想法嗎?謝謝

回答

2

事件失蹤

+2

謝謝!如果有人需要進一步澄清,我改變了第一行:$(「。menubutton」)。click(function(event)' – DogBot

0

事件沒有定義

您單擊處理程序的說法也JavaScript的變量不應$

0

開始如果你正在嘗試做的是讓與此

var $id=$(event.target.id.substring(0,2)); 

:被點擊的按鈕的ID,然後更換這個

var $id = this.id.substring(0,2); 

使用this來引用生成事件的對象。比進入未定義的事件對象要容易得多(這就是爲什麼你得到一個JS錯誤)。

從您的其他代碼中,它看起來像只是想$id是一個字符串。如果是這樣的話,那麼不要試圖製作一個jQuery對象。你是否意識到你只能在這裏得到2個字符的字符串?看起來你可能在按鈕ID中有三個唯一的字符。

相關問題