0

いくつかの 'a' タグ ボタンといくつかの分割を生成する for ループがあります。トグル効果のある関数を書き込もうとしています。特定のタグをクリックすると、対応する 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 に答える