2011-04-02 109 views
0

enter link description here這個JavaScript是搞亂了,不會顯示它凍結了,當我點擊按鈕,它不移動它只停留在那裏。我需要幫助修復此javascript?

<script language="javascript" type="text/javascript"> 
function toggleSlideBox(x) { 
     if ($('#'+x).is(":hidden")) { // this line right here needs fixed 
      $(".editBox").slideUp(200); 
      $('#'+x).slideDown(300); 
     } else { 
      $('#'+x).slideUp(300); 
     } 
} 
</script> 

http://www.mediafire.com/?8x6mqy0y2dowv7q http://www.mediafire.com/?g24vt95z0m7jpz7

這是我的網站,如果你註冊並轉到既www.lazarusbenson.com/profile.php也www.lazarusbenson。 com/edit_profile.php,並嘗試編輯你的個人資料或添加一個朋友,它搞砸了,並確實工作正確也我的私人消息系統也搞亂了,不斷髮送消息給我自己,而不是其他用戶。 這裏有兩個鏈接到整個代碼

+0

請考慮我訂閱。 – Pointy 2011-04-02 03:44:35

+0

函數是如何調用的?是否生成任何JS錯誤? – 2011-04-02 03:46:50

+0

按鈕代碼的外觀如何?或onClick聲明? – Sufendy 2011-04-02 03:49:47

回答

0

嘗試刪除 '#' +

<script language="javascript" type="text/javascript"> 
function toggleSlideBox(x) { 
     if ($(x).is(":hidden")) { // this line right here needs fixed 
      $(".editBox").slideUp(200); 
      $(x).slideDown(300); 
     } else { 
      $(x).slideUp(300); 
     } 
} 
</script> 
+0

它需要''#'+'因爲'x'是一個ID – Kayla 2011-04-02 04:04:22

+0

這是一個建議,因爲通常人們會將對象傳遞給onClick =「toggleSlideBox(this)」'。 – Sufendy 2011-04-02 04:06:49

+1

啊..他需要讓路更多文字.. – Kayla 2011-04-02 04:09:19

0

的jQuery實際上有內置的切換功能。

這就是所謂的jQuery().slideToogle

所以只是做

function toggleSlideDown(x) { 
    $('#'+x).slideToggle(300); 
} 
0

所以你的錯誤是:

$ is not defined [Break On This Error] if ($('#'+x).is(":hidden")) { 

這意味着你沒有在你的html中正確包含jquery。確保你在(逐字)加入這一行:

<SCRIPT type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></SCRIPT>   

如果你是,其他的選項是,你是缺少一些右括號或支架上的某個地方。

+0

我推薦沒有CAPITAL標籤。這是舊的HTML。 – Nathan 2011-07-27 03:51:26

1

一個很好的解決方法是使用.SlideToogle()來代替。這將確保代碼非常簡單並且將滑動ID /類向上和向下:

<script language="javascript" type="text/javascript"> 
function toggleSlideBox(x) { 
      $("#"+x).slideToogle(300); 
     } 
</script>