jQuery以圆形动画打开菜单

来源:https://www.sucaihuo.com/js/612.html 2015-12-24 18:16浏览(849) 收藏

用手机打开演示页面会看到右上角有一个圆形菜单按钮,打开它主菜单会以圆形动画展现出来,右上角也会有关闭按钮哦。
jQuery以圆形动画打开菜单
分类:导航菜单 > 动画导航 难易:中级
查看演示 下载资源 下载积分: 20 积分
关注公众号,免费赠送安装视频教程、环境和学习视频,后面会不断更新。

菜单结构

<nav>
    <ul class="cd-primary-nav">
        <li><a href="http://www.sucaihuo.com">首页</a></li>
        <li><a href="http://www.sucaihuo.com/js">jQuery</a></li>
        <li><a href="http://www.sucaihuo.com/php">PHP</a></li>
        <li><a href="http://www.sucaihuo.com/templates">模板</a></li>
    </ul>
</nav>
var overlayNav = $('.cd-overlay-nav'),
        overlayContent = $('.cd-overlay-content'),
        navigation = $('.cd-primary-nav'),
        toggleNav = $('.cd-nav-trigger');

//inizialize navigation and content layers
layerInit();
$(window).on('resize', function() {
    window.requestAnimationFrame(layerInit);
});

//open/close the menu and cover layers
toggleNav.on('click', function() {
    if (!toggleNav.hasClass('close-nav')) {
        //it means navigation is not visible yet - open it and animate navigation layer
        toggleNav.addClass('close-nav');

        overlayNav.children('span').velocity({
            translateZ: 0,
            scaleX: 1,
            scaleY: 1,
        }, 500, 'easeInCubic', function() {
            navigation.addClass('fade-in');
        });
    } else {
        //navigation is open - close it and remove navigation layer
        toggleNav.removeClass('close-nav');

        overlayContent.children('span').velocity({
            translateZ: 0,
            scaleX: 1,
            scaleY: 1,
        }, 500, 'easeInCubic', function() {
            navigation.removeClass('fade-in');

            overlayNav.children('span').velocity({
                translateZ: 0,
                scaleX: 0,
                scaleY: 0,
            }, 0);

            overlayContent.addClass('is-hidden').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function() {
                overlayContent.children('span').velocity({
                    translateZ: 0,
                    scaleX: 0,
                    scaleY: 0,
                }, 0, function() {
                    overlayContent.removeClass('is-hidden')
                });
            });
            if ($('html').hasClass('no-csstransitions')) {
                overlayContent.children('span').velocity({
                    translateZ: 0,
                    scaleX: 0,
                    scaleY: 0,
                }, 0, function() {
                    overlayContent.removeClass('is-hidden')
                });
            }
        });
    }
});
function layerInit() {
    var diameterValue = (Math.sqrt(Math.pow($(window).height(), 2) + Math.pow($(window).width(), 2)) * 2);
    overlayNav.children('span').velocity({
        scaleX: 0,
        scaleY: 0,
        translateZ: 0,
    }, 50).velocity({
        height: diameterValue + 'px',
        width: diameterValue + 'px',
        top: -(diameterValue / 2) + 'px',
        left: -(diameterValue / 2) + 'px',
    }, 0);

    overlayContent.children('span').velocity({
        scaleX: 0,
        scaleY: 0,
        translateZ: 0,
    }, 50).velocity({
        height: diameterValue + 'px',
        width: diameterValue + 'px',
        top: -(diameterValue / 2) + 'px',
        left: -(diameterValue / 2) + 'px',
    }, 0);
}
标签: 手机菜单
评论0
头像

系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791

1 2