通过向上滑动隐藏子菜单作为页面加载

时间:2015-02-26 17:04:04

标签: javascript jquery html css

请参阅小提琴http://jsfiddle.net/rabelais/tw6sdod9/4/

单击“运行”或“刷新”时,页面加载时,“文本”下的子菜单会向上滑动。如何更改此设置,以便我们在页面加载时看不到它,但在使用菜单时保持菜单在其余时间滑动到400?

$(document).ready(function () {
$('li ul').slideDown(0);


$('.no-js li a').on("click", function () {
    $('ul#inner-li ul').slideUp(400);
    if($(this).siblings('ul').is(":visible"))
        $(this).siblings('ul').slideUp(400);
    else
        $(this).siblings('ul').slideDown(400);
});
  jQuery('#texts').click();
});

2 个答案:

答案 0 :(得分:1)

$(document).ready(function () {
    $('li ul').slideDown(0);
    $("#inner-li-texts").hide(0); /* patch here */

    $('.no-js li a').on("click", function () {
        $('ul#inner-li ul').slideUp(400);
        if($(this).siblings('ul').is(":visible"))
            $(this).siblings('ul').slideUp(400);
        else
            $(this).siblings('ul').slideDown(400);
    });
      //jQuery('#texts').click();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul class="no-js">
  <li class="caps"><a href="#">Works</a>
      <ul id="inner-li">
                <li><a href="blog.html">blog</a></li>
                <li><a href="portraits.html">Portraits</a></li>
                <li><a href="paintings.html">Paintings</a></li>
                <li><a href="drawings.html">Drawings</a></li>
                <li><a href="photography.html">Photography</a></li>
                
      </ul></li>
      <li class="caps"><a id="texts" href="#">Texts</a>
      <ul id="inner-li-texts">
                <li><a class="current" href="#essay-one">Essay one</a></li>
                <li><a href="#essay-two">Essay two</a></li>
                <li><a href="#essay-three">Essay three</a></li>
               </ul>
                </li>
  <li class="caps"><a href="../news.htm">News</a></li>
  <li class="caps"><a href="../biography.htm">Biography</a></li>
  
  </ul>

您已使用.click来触发动画,我只是在文档的开头告诉它隐藏(.hide(0))。

答案 1 :(得分:0)

在设置代码之后,您可以调用特定的ul来重新滑动,而不是在设置代码之前触发单击:

$(document).ready(function () {
    $('li ul').slideDown(0);
    $('#inner-li-texts').slideUp(0);


    $('.no-js li a').on("click", function () {
        $('ul#inner-li ul').slideUp(400);
        if($(this).siblings('ul').is(":visible"))
            $(this).siblings('ul').slideUp(400);
        else
            $(this).siblings('ul').slideDown(400);
    });
});