悬停菜单上的SlideUp和Slidedown

时间:2013-04-17 11:32:02

标签: jquery html toggle slidedown slideup

我有一个菜单,会在hover()上显示一个滑块。我这样写了

$(".menu2").hover(function ()
{
 $(".slider").slideDown(500);
  $(".slider").css('display','block');      
},
    function () {   
    $(".slider").slideUp(500);      
 //$('.slider').css("display","none");

});

这会显示滑块。(我喜欢使用slideDown()slideUp()看起来不错)。当我将cursor移动到滑块时,它会返回display:none状态。所以我尝试了这个

 $(".sliderHolder").hover(function ()
{
  $(".slider").css('display','block');              
},
    function () {

 $(".slider").slideUp(500);

 });

});

在我从display:none移动光标后,我将滑块设置为menu状态。有没有更简单的方法来做到这一点?

1 个答案:

答案 0 :(得分:2)

您是否期待

http://jsfiddle.net/jUraw/1369/

      <ul id="nav">
        <li><a href="home.html"><span>M</span>enu</a>
            <ul>
                <li><a href="fashion.html"><span>F</span>ashion</a></li>
                <li><a href="about-us.html"><span>A</span>bout <span>U</span>s</a></li>
                <li><a href="find-us.html"><span>F</span>ind <span>U</span>s</a></li>
                <li class="underline"><a href="http://www.bellissimafashions.com/blog/"><span>B</span>log</a></li>
            </ul>
        </li>    
    </ul>


$(document).ready(function (){
    var t = null;
    $('#nav li').hover(function(){
        var that = this;
        t = setTimeout(function(){
            $('ul', that).slideDown(200);
            t = null;
        }, 300);
    }, function(){
        if (t){
            clearTimeout(t);
            t = null;
        }
        else
            $('#nav li ul').slideUp(200);
    });
});