2011-04-02 107 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>