4

嗨,我是 jQuery 新手,我希望在一段时间后将导航菜单从页面顶部滑出。大约 3/4 秒的用户在页面上。我可能会在菜单滑出页面后添加一个箭头按钮来拉下菜单,但目前我只需要知道如何上下滑动它。我想我可能需要修改我的 CSS 才能使这项工作也有效。

任何提示的帮助将不胜感激。

有关更多详细信息,请参阅 jsFiddle:http: //jsfiddle.net/headex/tJNXD/

4

2 回答 2

2

我会这样做:

首先,我在这里使用 $(nav)选择器,但您可以先将其调整为您的代码。此外,您需要输入您的菜单:position: relative;position: absolute;

让它滑出:

$(nav).animate({"top":$(nav).height() * -1},"slow");

让它滑入:

$(nav).animate({"top":0},"slow");

如果你想在 3 秒后弹出,我们开始:

function MenuOut()
{
     /* The sample code I put on top */
     $(nav).animate({"top":$(nav).height() * -1},"slow");
}

然后你把它放在你的 Js 页面上:

/* This will run once the document is ready */
$(function()
{
    setTimeout("MenuOut",3000); /* 3000 represent 3000 milliseconds, so 3 seconds */
});

现在按钮:

function MenuIn()
{
    $(nav).animate({"top":0},"slow");
}

然后你把它绑定到你的按钮上,如下所示:

$('#theButton').on(
{
    click: function()
    {   
        /* Hide the button, and then show up the menu */
        $(this).animate({"top":$(this).height() * -1},"slow",function()
        {
            /* I putted this in a callback function, so the 2 animations will be one after the other, not at the same time ! */
            MenuIn();
        });
    }
});
于 2012-05-19T14:55:16.397 回答
0

首先,在您加载的 jsfiddle 链接中,您没有加载 jquery,而是加载了 Mootools。所以你想要使用的是 jQuery,对吗?

如果是这样,你可以使用这样的东西......

var timeout = null;

$('#masterNav').hover(function() {
    clearTimeout(timeout);
}, function() {
    timeout = setTimeout('$("#nav").slideUp(500)', 750);
});
于 2012-05-19T15:15:56.297 回答