0

我有一个 for 循环,它生成几个“a”标签按钮和几个部门。我正在尝试编写一个具有切换效果的函数。如果我单击特定的 a 标签,则应切换相应的 div 标签。我正在尝试将动态值传递给此函数,但它不起作用。这是代码。请帮忙。谢谢你。

<html>
<header>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="layout.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="jquery.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
<style type="text/css"> 
.hideonly
{
padding:50px;
display:none;
}
</style>
</header>
<body>
<?php
$num_row = 5; //dynamic value
$i = 0;
$header_title = "";
    for ($i=0;$i<$num_row;$i++)
      {
        $header_title = $i; // Displaying all the headers and menus for the hotel.
        echo "<div>";
        echo "<br>";
        echo "<a class = \"menu-header-2\" href=\"#\">$header_title</a>";
        echo "<div id = \".$i.\" class = \"hideonly\" >Hello World!</div>";
        echo "<br>";
        echo "</div>";
      } 
?>
</body>
<script> 
$(document).ready(function(){
  $(".menu-header-2").click(function($i){
    $("#" . $i).slideToggle("fast");
  });
});
</script>
</html>
4

1 回答 1

3

该解决方案应该适合您。

$(this).next('div').slideToggle('fast');

有些事情你做错了。

  1. 以数字开头id。实际上你的id就是数字。它应该以字母开头
  2. 拥有剧本after的身体。通常它应该在head元素中或就在body结束之前
  3. .click()函数中,您正在传递$i. 这没有道理。你应该event改用。在这种情况下,您实际上并不需要它,并且可以在不向其传递任何内容的情况下获得该方​​法。这是您将使用该event参数的时候。
于 2012-11-16T06:05:17.107 回答