javascript - 菜单动画从顶部功能滑动

标签 javascript jquery css drop-down-menu jquery-animate

我想添加一个像这个演示站点中的菜单一样的菜单 Here
如您所见,它从页面顶部下降,我想知道这是仅使用 CSS3 还是 . 如果有人可以向我展示一个简单的功能,这样我就可以开始使用它,那就太好了!

编辑:好的,我想我找到了它的代码片段,我仍然想知道这是否是一个好方法,如果有人可以使它更简单,似乎有很多代码只是为了那个< br/>

var isUp = false;
var navHeight = $('#navContainer').height();
    var hideHeight = navHeight - 50; 

$('#arrowLink a').click(function(e){
    e.preventDefault();
    navHeight = $('#navContainer').height();
    hideHeight = navHeight - 50; 

    $('.tooltip').remove();
    if(!isUp){          
        $(this).find('img').attr('src',template_directory+'/images/menu_hide_arrow_bottom.png');
        $(this).find('img').attr('title',showNav);
        $( "#navContainer" ).animate({          
            top: '-='+ hideHeight + 'px'
        }, 500, "swing", function() {
            isUp = true;
        }); 
    }else{
        $(this).find('img').attr('src',template_directory+'/images/menu_hide_arrow_top.png');
        $(this).find('img').attr('title',hideNav);
        $( "#navContainer" ).animate({          
            top: "0"
        }, 500, "swing", function() {
            isUp = false;
        });             


        if($('body').hasClass('body_show_content'))
        {
             $('#mainContainer').fadeIn();  
        }   
    }
});`

最佳答案

是的,这是可以做到的。您可以使用 CSS 过渡/关键帧和点击事件。

代码

html

<div id="container hidden">Something</div>

CSS

#container {
  postion:fixed;
  -webkit-transition: all 2s;
  transition: all 2s;
}

.hidden {
  top: -25px;
}

js

$('#container').click(function(){
  $(this).toggleClass('hidden');
});

解释

您的菜单固定在页面顶部。每当您切换显示/隐藏它的按钮时,您都可以添加一个 css 类来更改元素的位置。因为元素上有 transition,它会动画到新位置。这也可以使用关键帧而不是过渡来完成,以获得更多控制。

css transition

css keyframes

关于javascript - 菜单动画从顶部功能滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27832750/

相关文章:

javascript - Firebase:如何通过nodemailer发送的电子邮件模板发送重置链接?

jQuery "visible"不适用于所有浏览器,但在 Firefox 中

javascript - 我如何检测 jQuery UI 碰撞何时翻转

javascript - 如何使用 jQuery 获取特定元素

javascript - Sencha 触摸 : Displaying and editing HasMany field on formpanel

javascript - 在javascript中从应用程序根目录获取路径

php - Jquery 返回 Object 对象,前两个字段按预期返回

firefox - Firefox 2.x 中的已知 "position:relative"问题?

css - 如何使用 react-testing-library 测试 React 组件的 css 属性?

javascript - jQuery 验证在公共(public)文件中不起作用