Jquery实现子菜单散开动画

原创 2017年09月09日 15:23:05

Jquery的animate()方法执行 CSS 属性集的自定义动画。该方法通过CSS样式将元素从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果。

在一些Web APP中(特别是移动端Web APP)子菜单散开动画是比较常见的,我们可以使用Jquery的animate快速实现。


示例使用了font-awesome图标库,class="fa fa-times-circle"就是引用了font-awesome图标,实际开发可以使用自己的图标或图片代替。
如果大家想要下面的示例能直接跑起来可以引入font-awesome图标库

<link rel="stylesheet" type="text/css" href="http://apps.bdimg.com/libs/fontawesome/4.4.0/css/font-awesome.min.css">

html 代码

<div id="jiucuo" class="details-btn">
    <span class="fa fa-times-circle"></span>
    <span class="details-btn-text">纠错</span>
</div>
<div id="xinzeng" class="details-btn">
    <span class="fa fa-plus-circle"></span>
    <span class="details-btn-text">新增</span>
</div>
<div id="shezhi" class="details-btn">
    <span class="fa fa-cog"></span>
    <span class="details-btn-text">设置</span>
</div>
<div id="wode" class="details-btn">
    <span class="fa fa-user"></span>
    <span class="details-btn-text">我的</span>
</div>

<div id="more-btn" onclick="openAndCloseMoreBtn()">
    <span class="fa fa-th-large"></span>
</div>

CSS代码

#more-btn{
    position: absolute;
    z-index: 999;
    left: 15px;
    bottom: 15px;
    width: 45px;
    height: 45px;
    background: white;
    border-radius: 10px;
    box-shadow: 0px 3px 6px #9b9b9b;
    text-align: center;
    line-height: 60px;
}
#more-btn .fa{
    color: #007bcc;
    font-size: 28px;
}

.details-btn{
    width: 45px;
    height: 45px;
    position: absolute;
    bottom: 0px;
    left: 0px;
    z-index: 99;
    opacity: 0;
    background: #fff;
    border-radius: 15px;
    box-shadow: 0px 2px 5px #9b9b9b;
    text-align: center;
    line-height: 10px;
}
.details-btn-text{
    font-size: 10px;
    color: #9b9b9b;
}
 #jiucuo .fa{
    width: 45px;
    font-size: 25px;
    color: #f93;
 }
 #xinzeng .fa{
    width: 45px;
    font-size: 25px;
    color: #bc1339;
 }

 #shezhi .fa{
    width: 45px;
    font-size: 25px;
    color: #696969;
 }
 #wode .fa{
    width: 45px;
    font-size: 25px;
    color: #007bcc;
 }

JavaScript代码

var more_btn_sum=1;
function openAndCloseMoreBtn(){
    if(more_btn_sum!=-1){

        $('#jiucuo').animate({'left':'10px','bottom':'130px','opacity':'1'});
        $('#xinzeng').animate({'left':'68px','bottom':'113px','opacity':'1'});
        $('#shezhi').animate({'left':'114px','bottom':'67px','opacity':'1'});
        $('#wode').animate({'left':'140px','bottom':'10px','opacity':'1'});
    }else{
        $('#jiucuo').animate({'left':'0px','bottom':'0px','opacity':'0'});
        $('#xinzeng').animate({'left':'0px','bottom':'0px','opacity':'0'});
        $('#shezhi').animate({'left':'0px','bottom':'0px','opacity':'0'});
        $('#wode').animate({'left':'0px','bottom':'0px','opacity':'0'});
    }
    more_btn_sum= more_btn_sum*-1;
}

显示效果

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Spring学习(九)使用ioc注解方式配置bean

context层 : 上下文环境/容器环境 applicationContext.xml1 ioc注解功能 注解 简化xml文件配置 如 hibernate 映射文件 ioc...

spring security与cas 集成(中)

上一篇对于spring security与cas集成中涉及的名词,认证与授权进行简单说明,现在将spring security与cas集成的配置文件简单贴上来,这其中所需要的jar太多了,主要涉及ca...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

CSS3你可能不知道的冷知识

可能我们在看一些网页的源码时 会发现自己从来没见过的属性或用法 今天我就来总结一下 CSS3的冷知识 样式计算在CSS中也可以进行简单的计算 通过calc函数可以实现 这样还可以使我们的元...

挂载Azure file share 到K8S container

在Azure里面我们可以使用虚拟机搭建k8s,也可以使用ACS(Azure container service)去创建K8S,不同的是用虚拟机去自己搭建K8S,可配置的内容多一些。ACS是个标准的模板...

SQLSERVER 存储过程中动态SQL的使用

Create PROCEDURE GetPageInfo @TableName VARCHAR(20),   --表名称 @PageSize  INT,                  ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)