请看小提琴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();
});发布于 2015-02-26 17:13:57
$(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))。
发布于 2015-02-26 17:17:33
与其在设置代码之后触发单击,还可以在设置单击之前调用特定的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);
});
});https://stackoverflow.com/questions/28748418
复制相似问题