jquery - accordion menu stops working on adding href links -


here simple accordion :

<script type="text/javascript"> $(function() {     $("dt.title").click(function()     {        $("div.info").slideup("slow");        $(this).next("div.info:hidden").slidedown("normal" );     }); }); </script> 

and works fine html :

<body> <div id="wrapper"> <div id="container">  <ul id="nav"> <dt class="title"><a href="#">about</a></dt> <dt class="title"><a href="#">work</a></dt> <div class="info"> <ul> <li><a href="#">bol</a></li> <li><a href="#">annie</a></li> <li><a href="#">imran</a></li> </ul> </div> <dt class="title"><a href="#">contact</a></dt> <dt class="title"><a href="#">links</a></dt> </ul> </div> <div id="content"> </div> </div> </body> </html>  

when put href links, menu stops working. example :

<dt class="title"><a href="about.html">about</a></dt>  

also tell me how can add active , hover state in menu.

you forgot return false

<script type="text/javascript"> $(function() {     $("dt.title").click(function(){          $("div.info").slideup("slow");          $(this).next("div.info:hidden").slidedown("normal" );         return false; //do here     }); }); </script> <body>     <div id="wrapper">         <div id="container">              <ul id="nav">                 <dt class="title"><a href="#">about</a></dt>                 <dt class="title"><a href="about.html">work</a></dt>                 <div class="info">                     <ul>                     <li><a href="#">bol</a></li>                     <li><a href="#">annie</a></li>                     <li><a href="#">imran</a></li>                     </ul>                 </div>                 <dt class="title"><a href="#">contact</a></dt>                 <dt class="title"><a href="#">links</a></dt>             </ul>         </div>         <div id="content">         </div>     </div> </body> 

if planning load content of about.html in content element use load method. function like

    $("dt.title").click(function(){          $("div.info").slidetoggle("slow");         $('#content').load($(this).find('a').attr('href'));         return false;     }); 

but not work cross-domain url.

[update]

<script type="text/javascript">  //no use var var loader = $("<div></div>").html('loading')  $(document).ready(function() {      $(".title").click(function(){           $(this).find("ul").slidetoggle("slow");          //do animations here         //but using $.get, more animation effect         //i guess          $('#content').load($(this).find('a').attr('href'));          return false;     });      //similarly inner link     $(".title ul a").click(         function ()         {                $('#content').load($(this).attr('href'));              return false;     });   });  </script> <body> <div id="wrapper">     <div id="container">      <ul id="nav">        <dt class="title"><a href="test.php">about</a>         <ul>                 <li><a href="test.php">bol</a></li>                 <li><a href="test.php">annie khalid</a></li>                 <li><a href="test.php">imran</a></li>         </ul>     </dt>      <dt class="title"><a href="test.php">work</a>         <ul>                 <li><a href="test.php">bol</a></li>                 <li><a href="test.php">annie khalid</a></li>                 <li><a href="test.php">imran</a></li>         </ul>     </dt>      <dt class="title"><a href="test.php">contact</a>         <ul>                 <li><a href="test.php">bol</a></li>                 <li><a href="test.php">annie khalid</a></li>                 <li><a href="test.php">imran</a></li>         </ul>      </dt>          <dt class="title"><a href="test.php">links</a>         <ul>                 <li><a href="test.php">bol</a></li>                 <li><a href="test.php">annie khalid</a></li>                 <li><a href="test.php">imran</a></li>         </ul>      </dt>     </ul>          </div>      <div id="content">           <p>welcome site!!!!!!!!!!!!!!!!!!!!!!!</p>      <p>in tutorial taking average everyday website , enhancing jquery.      adding ajax functionality content loads relevant container instead       of user having navigate page. integrating awesome effects...     </p>     </div>  </div> </body> 

Comments

Popular posts from this blog

c# - How to set Z index when using WPF DrawingContext? -

razor - Is this a bug in WebMatrix PageData? -

android - layout with fragment and framelayout replaced by another fragment and framelayout -