js实现上下左右弹框划出效果
作者:留白snow 发布时间:2024-05-08 09:32:31
标签:js,弹框
效果图:
图(1)初始图
图(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>


猜你喜欢
- 1、jsp页面,携带值跳转到新页 original.jsp var btnClick = {'click .showne
- 最近为数据库服务器增加了内存,达到了最大支持的8G,数据库用的是mssql 2005 ,之前内存一直是4G的,不存在内存大和32位操作系统冲
- 背景借助django-admin,可以快速得到CRUD界面,但若需要创建多选标签字段时,需要对表单进行调整示例model.py一个tag(标
- 刷新本地缓存Ctrl+Shift+R查询select *from [table]修改1、普通更新UPDATE [table] set [字段
- 从几年前开始学习编程直到现在,一直对程序中的异常处理怀有恐惧和排斥心理。之所以这样,是因为不了解。这次攻python,首先把自己最畏惧和最不
- 大多数程序都旨在解决最终用户的问题,为此,需要从用户那里获取一些信息。函数input()让程序暂停运行,等待用户输入一些文本。例如:name
- 在修改后的文字后面加上: self.textEdit_6.moveCursor(QTextCursor.End)例子:self.textEd
- 前言任何应用都离不开数据,所以在学习python的时候,当然也要学习一个如何用python操作数据库了。MySQLdb就是python对my
- <html> <head> <script language="javasc
- 详解python实现读取邮件数据并下载附件的实例实现结果图:实现代码:#!/usr/bin/python2.7# _*_ coding: u
- 本文实例讲述了Python实现基于PIL和tesseract的验证码识别功能。分享给大家供大家参考,具体如下:之前搞这个搞了一段时间,后面遇
- 我完成了更新我们在 Neutron的实时收入统计。在我花了一周的时间完成并且更新了我们的PHP脚本之后,我最终认决定开始使用Py
- 一 背景 有赞的每个OLTP数据库实例上会设置一个sql-killer进程用于kill
- <% dim total(7,2) total(1,1)=200 total(2,1)=800
- 如下所示:import jsonimport http.clientconnection = http.client.HTTPSConnec
- HTTPS简介HTTPS(Hyper Text Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有
- 示例很简单,注释里也都做了说明,这里就不多废话了。<?php/*从平台获取数据库名*/$dbname = "";/
- jQuery 操作 CSSaddClass() - 向被选元素添加一个或多个类removeClass() - 从被选元素删除一个或多个类to
- 访问FTP,无非两件事情:upload和download,最近在项目中需要从ftp下载大量文件,然后我就试着去实验自己的ftp操作类,如下(
- 一、前言Go程序像C/C++一样,如果开发编码考虑不当,会出现cpu负载过高的性能问题。如果程序是线上环境或者特定场景下出现负载过高,问题不