js实现上下左右弹框划出效果


Posted in Javascript onMarch 08, 2017

效果图:

js实现上下左右弹框划出效果

图(1)初始图

js实现上下左右弹框划出效果

图(2)点击“从右侧划出”

代码如下:

<!DOCTYPE html>
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
 <title>上下左右弹框划出效果</title>
 <style>
   /*css document*/
body,div,ol,ul,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,p,form,fieldset,legend,input,button,aside{ padding: 0; margin: 0; -webkit-tap-highlight-color:rgba(255,255,255,0);}
   body { font-family: "Microsoft YaHei"; }
   .btn button {
 display: block;
 width: 240px; 
 line-height: 30px;
 margin: 20px auto;
 background-color: #cd0000;
 color: #fff;
 text-align: center;
 outline: none;
 border: none;
 cursor: pointer;
 font-family: "Microsoft YaHei";
}
.aside,
.aside-overlay {
 position: fixed;
 top: 0;
 right: 0;
 left: 0;
 bottom: 0;
}
.aside {
 -webkit-transition: visibility .25s;
 transition: visibility .25s;
 z-index: 3;
 visibility: hidden;
 overflow: hidden;
}
.aside > div { text-align: center; }
.aside.active {
 -webkit-transition: none;
 transition: none;
 visibility: visible;
}
.aside-overlay {
 background-color: rgb(0,0,0);
 opacity: 0;
 -webkit-transition: opacity .25s;
 transition: opacity .25s;
}
.active > .aside-overlay {
 opacity: .6;
}
.rightContent {
 position: absolute;
 bottom: 0;
 right: 0;
 top: 0;
 left: 40px;
 background:#fff;
 -webkit-transition: transform .15s;
 transition: transform .15s;
 -webkit-transform:translateX(100%); 
 transform:translateX(100%); 
}
.active > .rightContent {
 -webkit-transform:translateX(0%); 
 transform:translateX(0%); 
}
.leftContent {
 position: absolute;
 bottom: 0;
 right: 40px;
 top: 0;
 left: 0;
 background:#fff;
 -webkit-transition: transform .15s;
 transition: transform .15s;
 -webkit-transform:translateX(-100%); 
 transform:translateX(-100%); 
}
.active > .leftContent {
 -webkit-transform:translateX(0%); 
 transform:translateX(0%); 
}
.topContent {
 position: absolute;
 bottom: 40px;
 right: 40px;
 top: 0;
 left: 40px;
 background:#fff;
 -webkit-transition: transform .15s,top .15s;
 transition: transform .15s;
 -webkit-transform:translateY(-100%); 
 transform:translateY(-100%); 
}
.active > .topContent {
 top: 40px;
 -webkit-transform:translateY(0%); 
 transform:translateY(0%); 
}
.botContent {
 position: absolute;
 bottom: 0;
 right: 40px;
 top: 40px;
 left: 40px;
 background:#fff;
 -webkit-transition: transform .15s,bottom .15s;
 transition: transform .15s;
 -webkit-transform:translateY(100%); 
 transform:translateY(100%); 
}
.active > .botContent {
 bottom: 40px;
 -webkit-transform:translateY(0%); 
 transform:translateY(0%); 
}
  </style>
 </head>
 <body>
 <!-- 按钮 -->
 <div class="btn">
 <button id="rightBtn">从右侧划出</button>
 <button id="leftBtn">从左侧划出</button>
 <button id="topBtn">从上面划下</button>
 <button id="botBtn">从下面划上</button>
 </div>
 <!-- 弹出层 -->
 <aside id="aside" class="aside">
 <i class="aside-overlay hideAside"></i>
 <div class="rightContent">
 右侧划出
 </div>
 <div class="leftContent">
 左侧划出
 </div>
 <div class="topContent">
 从上面划下
 </div>
 <div class="botContent">
 从上面划下
 </div>
 </aside>
 <script type="text/javascript" src="http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
 <script type="text/javascript">
 $(function(){
 var rightBtn = $('#rightBtn'),leftBtn = $('#leftBtn'),topBtn = $('#topBtn'),botBtn = $('#botBtn');
 var oAside = $('#aside');
 rightBtn.on("click",function(){
 $('.leftContent').hide();
 $('.topContent').hide();
 $('.botContent').hide();
 $('.rightContent').show();
 oAside.addClass('active');
 });
 leftBtn.on("click",function(){
 $('.rightContent').hide();
 $('.topContent').hide();
 $('.botContent').hide();
 $('.leftContent').show();
 oAside.addClass('active');
 });
 topBtn.on("click",function(){
 $('.rightContent').hide();
 $('.leftContent').hide();
 $('.botContent').hide();
 $('.topContent').show();
 oAside.addClass('active');
 });
 botBtn.on("click",function(){
 $('.rightContent').hide();
 $('.leftContent').hide();
 $('.topContent').hide();
 $('.botContent').show();
 oAside.addClass('active');
 });
 $('.hideAside').on("click",function(){
 oAside.removeClass('active');
 });
 })
 </script>
 </body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
最佳JS代码编写的14条技巧
Jan 09 Javascript
Js,alert出现乱码问题的解决方法
Jun 19 Javascript
详解JS 比较两个Json对象的值是否相等的实例
Nov 20 Javascript
详谈jQuery中的this和$(this)
Nov 13 Javascript
让html元素随浏览器的大小自适应垂直居中的实现方法
Oct 12 Javascript
JavaScript实现水平进度条拖拽效果
Jan 18 Javascript
jQuery表格(Table)基本操作实例分析
Mar 10 Javascript
使用D3.js创建物流地图的示例代码
Jan 27 Javascript
JS实现为动态创建的元素添加事件操作示例
Mar 17 Javascript
js中addEventListener()与removeEventListener()用法案例分析
Mar 02 Javascript
VsCode里的Vue模板的实现
Aug 12 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
Dec 20 Javascript
浅谈JavaScript正则表达式-非捕获性分组
Mar 08 #Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
Mar 08 #Javascript
原生js实现瀑布流布局
Mar 08 #Javascript
js仿拉勾网首页穿墙广告效果
Mar 08 #Javascript
JavaScript中的工厂函数(推荐)
Mar 08 #Javascript
老生常谈js中0到底是 true 还是 false
Mar 08 #Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
Mar 08 #Javascript
You might like
PHP在线打包下载功能示例
2016/10/15 PHP
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
HTML Dom与Css控制方法
2010/10/25 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
JS实现局部选择打印和局部不选择打印
2014/04/03 Javascript
js点击选择文本的方法
2015/02/09 Javascript
jquery实现右键菜单插件
2015/03/29 Javascript
AngularJS基础 ng-href 指令用法
2016/08/01 Javascript
JavaScript异步上传图片文件的实例代码
2017/07/04 Javascript
深入理解令牌认证机制(token)
2019/08/22 Javascript
vue多页面项目中路由使用history模式的方法
2019/09/23 Javascript
详解Python命令行解析工具Argparse
2016/04/20 Python
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
Python标准库sched模块使用指南
2017/07/06 Python
Python实现自动上京东抢手机
2018/02/06 Python
python 对象和json互相转换方法
2018/03/22 Python
pandas创建新Dataframe并添加多行的实例
2018/04/08 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
新手如何发布Python项目开源包过程详解
2019/07/11 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
ipad上运行python的方法步骤
2019/10/12 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
2020/04/21 Python
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
国际花店:Pickup Flowers
2020/04/10 全球购物
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
2015/03/25 面试题
介绍一下木马病毒的种类
2015/07/26 面试题
校园餐饮创业计划书
2014/01/10 职场文书
企业指导教师评语
2014/04/28 职场文书
摄影展策划方案
2014/06/02 职场文书
工作求职信
2014/07/04 职场文书
装修活动策划方案
2014/08/27 职场文书
大学生在校表现评语
2014/12/31 职场文书
2015年安全生产目标责任书
2015/01/29 职场文书
python unittest单元测试的步骤分析
2021/08/02 Python