我一直在線上閱讀的東西一段時間,還沒有想出使用setTimeout函數的正確方法..任何理由爲什麼?如何在打開下拉菜單時設置1秒延遲?
$('.drop-down').click(function() {
$(this).hide();
});
$('.nav-main li ul').hide().removeClass('.drop-down');
setTimeout(function() {
$('.nav-main li').hover(
function openDrop() {
$('ul', this).stop().slideDown(1000);
},
function closeDrop() {
$('ul', this).stop().slideUp(1000);
}
);}, 1000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav class="nav-main" role="navigation">
<ul>
<li class="nav-top"><a href="#welcome">Welcome</a></li>
<li class="nav-top"><a href="#about">About</a>
\t \t <ul class="drop-down">
\t \t \t <li><a href="#about">Services</a></li>
\t \t \t <li><a href="#client">Clients</a></li>
\t \t \t <li><a href="#press">Press</a></li>
\t \t \t <li><a href="#leadership">Leadership</a></li>
\t \t \t <li><a href="#twitter">Twitter</a></li>
\t \t </ul>
\t </li>
\t <li class="nav-top"><a href="#contact">Contact</a> </li>
</ul>
\t \t \t \t \t \t
</nav>
啊好的,這個功能更有意義!有沒有辦法延遲運行,然後開始slidedown()? –
其實,明白了!謝謝! –