2012-07-28 37 views
1

该代码的工作原理除了每次我加载或刷新页面时都会跳转,我想知道是否有人知道这个解决方案的好方法?任何帮助非常感谢。有没有办法停止可折叠侧导航停止页面加载跳跃?

按下这个Jsfiddle上的'运行'按钮来查看我的意思。

  <div id="sideNav_header">Navigation</div> 

      <ul id="collapsibleMenu"> 
       <li><a href="#">Link</a> 
        <ul> 

         <li><a href="#">Link</a></li> 
         <li><a href="#">Link</a></li> 
         <li><a href="#">Link</a></li> 
         <li><a href="#">Link</a></li> 
         <li><a href="#">Link</a></li> 

        </ul> 
       </li> 
       <li><a href="#">Link</a> 
        <ul> 
         <li><a href="#">List Item 2.1</a></li> 
         <li><a href="#">List Item 2.2</a></li> 
         <li><a href="#">List Item 2.3</a></li> 

        </ul> 
       </li> 
       <li><a href="#">Link</a> 
        <ul> 
         <li><a href="#">List Item 3.1</a></li> 
         <li><a href="#">List Item 3.2</a></li> 
         <li><a href="#">List Item 3.3</a></li> 

        </ul> 
       </li> 
       <li><a href="#">Link</a> 
        <ul> 
         <li><a href="#">List Item 4.1</a></li> 
         <li><a href="#">List Item 4.2</a></li> 
         <li><a href="#">List Item 4.3</a></li> 

        </ul> 
       </li> 
       <li><a href="#">Link</a> 
        <ul> 
         <li><a href="#">List Item 5.1</a></li> 
         <li><a href="#">List Item 5.2</a></li> 
         <li><a href="#">List Item 5.3</a></li> 

        </ul> 
       </li> 
       <li><a href="#">Link</a> 
        <ul> 
         <li><a href="#">List Item 1.1</a></li> 
         <li><a href="#">List Item 1.2</a></li> 
         <li><a href="#">List Item 1.3</a></li> 

        </ul> 
       </li> 
       <li><a href="#">Link</a> 
        <ul> 
         <li><a href="#">List Item 2.1</a></li> 
         <li><a href="#">List Item 2.2</a></li> 
         <li><a href="#">List Item 2.3</a></li> 

        </ul> 
       </li> 
       <li><a href="#">Link</a> 
        <ul> 
         <li><a href="#">List Item 3.1</a></li> 
         <li><a href="#">List Item 3.2</a></li> 
         <li><a href="#">List Item 3.3</a></li> 

        </ul> 
       </li> 
       <li><a href="#">Link</a> 
        <ul> 
         <li><a href="#">List Item 4.1</a></li> 
         <li><a href="#">List Item 4.2</a></li> 
         <li><a href="#">List Item 4.3</a></li> 

        </ul> 
       </li> 
       <li><a href="#">Link</a> 
        <ul> 
         <li><a href="#">List Item 5.1</a></li> 
         <li><a href="#">List Item 5.2</a></li> 
         <li><a href="#">List Item 5.3</a></li> 

        </ul> 
       </li> 
       <li><a href="#">Link</a> 
        <ul> 
         <li><a href="#">List Item 5.1</a></li> 
         <li><a href="#">List Item 5.2</a></li> 
         <li><a href="#">List Item 5.3</a></li> 

        </ul> 
       </li> 
      </ul> 


//Script// 
    $("#collapsibleMenu > li > a").find("+ ul").slideUp(1); 

       // Expand or collapse: 
       $("#collapsibleMenu > li > a").click(function() { 
        $(this).find("+ ul").slideToggle("slow"); 
       });​ 

回答

3

是,更改:

$("#collapsibleMenu > li > a").find("+ ul").slideUp(1); 

到:

$("#collapsibleMenu > li > a").find("+ ul").slideUp(0); 

http://jsfiddle.net/DjbeK/1/

在页面加载使用slideUp(1)不会使你可以使用hide()代替感。

+0

尝试使用.slideUp(0)和.hide(0),但每次加载页面时它仍然会弹出。我可能会尝试找到一个基于css的解决方案。不过谢谢。 – 2012-07-28 20:16:07

+0

@Matt欢迎您,是的,在这种情况下,CSS是最好的选择。 – undefined 2012-07-28 20:19:00