CSS+jQuery实现的一个放大缩小动画效果


Posted in Javascript onSeptember 24, 2013

今天帮朋友写了一些代码,自己觉得写着写着,好几个版本以后,有点满意,于是就贴出来。
都是定死了的。因为需求就只有4个元素。如果是要用CSS的class来处理,那就需要用到CSS3动画了。

<!DOCTYPE html> 
<html> 
<head> 
<title> CSS+jQuery动画效果 </title> 
<meta name="Generator" content="EditPlus"> 
<meta name="Author" content="铁锚"> 
<style> 
body{ 
z-index: 0; 
width: 100%; 
min-height: 400px; 
} 
.pages{ 
position: absolute; 
} 
.current{ 
position: absolute; 
z-index: 12 !important; 
left: 0px !important; 
} 
.page1{ 
background-color: #a5cfff; 
z-index: 1; 
width: 300px; 
height:280px; 
top: 100px; 
left: 0px; 
} 
.page2{ 
background-color: #b1ca54; 
z-index: 2; 
width: 250px; 
height:270px; 
top: 160px; 
left: 0px; 
} 
.page3{ 
background-color: #c2c6c9; 
z-index: 3; 
width: 200px; 
height:260px; 
top: 220px; 
left: 0px; 
} 
.page4{ 
background-color: #ef9e9c; 
z-index: 4; 
width: 150px; 
height:250px; 
top: 250px; 
left: 0px; 
} 
</style> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
<script> 
$(function(){ 
// 增长 
function increase($div,e){ 
var style = $div.attr("style"); 
$div.addClass("current").attr("styleold",style); 
// 
$div.stop(); 
$div.animate({ 
opacity:0.9, 
width:"400px", 
height: "400px", 
top: "100px", 
left: "0px" 
},600) 
.animate({ 
opacity:1.0 
},30); e.stopPropagation(); 
return false; 
}; 
// 还原 
function resize(e){ 
// 所有的都移除 
var $page1 = $(".current.page1") ; 
$page1.stop(); 
$page1.animate({ 
opacity:1.0, 
width:"300px", 
height: "280px", 
top: "100px", 
left: "0px" 
},600,null,function(){ 
$page1.removeClass("current").attr("style",""); 
}); 
var $page2 = $(".current.page2") ; 
$page2.stop(); 
$page2.animate({ 
opacity:1.0, 
width:"250px", 
height: "270px", 
top: "160px", 
left: "0px" 
},600,null,function(){ 
$page2.removeClass("current").attr("style",""); 
}); 
var $page3 = $(".current.page3") ; 
$page3.stop(); 
$page3.animate({ 
opacity:1.0, 
width:"200px", 
height: "260px", 
top: "220px", 
left: "0px" 
},600,null,function(){ 
$page3.removeClass("current").attr("style",""); 
}); 
var $page4 = $(".current.page4") ; 
$page4.stop(); 
$page4.animate({ 
opacity:1.0, 
width:"150px", 
height: "250px", 
top: "250px", 
left: "0px" 
},600,null,function(){ 
$page4.removeClass("current").attr("style",""); 
}); 
e.stopPropagation(); 
return false; 
}; 
// 
$("#button1").unbind("mouseover").bind("mouseover",function(e){ 
// 
var $page1 = $(".page1"); 
// 添加特定的 
return increase($page1,e); 
}).unbind("mouseout").bind("mouseout",function(e){ 
return resize(e); 
}); 
// 
$("#button2").unbind("mouseover").bind("mouseover",function(e){ 
// 
var $page2 = $(".page2"); 
// 添加特定的 
return increase($page2,e); 
}).unbind("mouseout").bind("mouseout",function(e){ 
return resize(e); 
}); 
// 
$("#button3").unbind("mouseover").bind("mouseover",function(e){ 
// 
var $page3 = $(".page3"); 
// 添加特定的 
return increase($page3,e); 
}).unbind("mouseout").bind("mouseout",function(e){ 
return resize(e); 
}); 
// 
$("#button4").unbind("mouseover").bind("mouseover",function(e){ 
// 
var $page4 = $(".page4"); 
// 添加特定的 
return increase($page4,e); 
}).unbind("mouseout").bind("mouseout",function(e){ 
return resize(e); 
}); 
// 
$(".pages").unbind("mouseover").bind("mouseover",function(e){ 
// 
var $this = $(this); 
// 添加特定的 
return increase($this,e); 
}).unbind("mouseout").bind("mouseout",function(e){ 
// 所有的都移除 
return resize(e); 
}); 
// 
$("body").click(function(e){ 
// 所有的都移除 
return resize(e); 
}); 
}); 
</script> 
</head> 
<body> 
<div class="pages page1">page1</div> 
<div class="pages page2">page2</div> 
<div class="pages page3">page3</div> 
<div class="pages page4">page4</div> 
<div style="background-color: #a5cfff;"> 
<button id="button1">第一页</button> 
<button id="button2">第2页</button> 
<button id="button3">第3页</button> 
<button id="button4">第4页</button> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
JavaScript的目的分析
Jan 05 Javascript
jquery1.4.2 for Visual studio 2010 模板文件
Jul 14 Javascript
Javascript继承机制的设计思想分享
Aug 28 Javascript
js实现select跳转功能代码
Oct 22 Javascript
AngularJs实现ng1.3+表单验证
Dec 10 Javascript
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
Jan 19 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
May 12 Javascript
vue基于viewer实现的图片查看器功能
Apr 12 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
Jun 06 jQuery
微信小程序 下拉刷新及上拉加载原理解析
Nov 06 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
Jul 20 Javascript
vue props default Array或是Object的正确写法说明
Jul 30 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
Sep 24 #Javascript
基于jquery实现的省市区级联无ajax
Sep 24 #Javascript
JS.elementGetStyle(element, style)应用示例
Sep 24 #Javascript
jquery $.each()使用探讨
Sep 23 #Javascript
jQuery ajax dataType值为text json探索分享
Sep 23 #Javascript
jQuery实现类似滑动门切换效果的层切换
Sep 23 #Javascript
JS 实现导航栏悬停效果
Sep 23 #Javascript
You might like
PHP COOKIE设置为浏览器进程
2009/06/21 PHP
探寻PHP脚本不报错的原因
2014/06/12 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
JavaScript简单遍历DOM对象所有属性的实现方法
2015/10/21 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
基于vue的下拉刷新指令和滚动刷新指令
2016/12/23 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
jQuery文字轮播特效
2017/02/12 Javascript
nodejs学习笔记之路由
2017/03/27 NodeJs
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
JavaScript中的E-mail 地址格式验证
2018/03/28 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
跟老齐学Python之编写类之四再论继承
2014/10/11 Python
简单介绍Python中用于求最小值的min()方法
2015/05/15 Python
python类和继承用法实例
2015/07/07 Python
Python模块包中__init__.py文件功能分析
2016/06/14 Python
一个基于flask的web应用诞生 使用模板引擎和表单插件(2)
2017/04/11 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
python实现动态数组的示例代码
2019/07/15 Python
Django 拆分model和view的实现方法
2019/08/16 Python
基于python实现地址和经纬度转换
2020/05/19 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
严选全球尖货,立足香港:Bonpont宝盆
2018/07/24 全球购物
Johnson Fitness澳大利亚:高级健身器材
2021/03/16 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
机械设计及其自动化专业推荐信
2013/10/31 职场文书
护士长竞聘书
2014/03/31 职场文书
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android