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:以前写的xmlhttp池,代码
May 18 Javascript
js作用域及作用域链概念理解及使用
Apr 15 Javascript
javascript中的startWith和endWith的几种实现方法
May 07 Javascript
JS格式化数字保留两位小数点示例代码
Oct 15 Javascript
JS获得浏览器版本和操作系统版本的例子
May 13 Javascript
JavaScript中继承用法实例分析
May 16 Javascript
Javascript监视变量变化的方法
Jun 09 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
Jun 12 Javascript
对Angular.js Controller如何进行单元测试
Oct 25 Javascript
Vue自定义指令详解
Jul 28 Javascript
Angular在模板驱动表单中自定义校验器的方法
Aug 09 Javascript
微信小程序返回多级页面的实现方法
Oct 27 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
完善CodeIgniter在IDE中代码提示功能的方法
2014/07/19 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
PHP中error_log()函数的使用方法
2015/01/20 PHP
Zend Framework框架Smarty扩展实现方法
2016/03/22 PHP
用PHP写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
jQuery Ajax 全解析
2009/02/08 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
Struts2的s:radio标签使用及用jquery添加change事件
2013/04/08 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
2013/12/04 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
js图片跟随鼠标移动代码
2015/11/26 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
详解VueJs前后端分离跨域问题
2017/05/24 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
2020/04/21 Javascript
详解Python的Django框架中inclusion_tag的使用
2015/07/21 Python
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
Python3读取Excel数据存入MySQL的方法
2018/05/04 Python
利用python修改json文件的value方法
2018/12/31 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
Django在Model保存前记录日志实例
2020/05/14 Python
大女孩胸罩:Big Girls Bras
2016/12/15 全球购物
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
后勤部长岗位职责
2013/12/14 职场文书
团日活动总结书
2014/05/08 职场文书
阳光体育活动实施方案
2014/05/25 职场文书
CAD实训总结范文
2015/08/03 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
python小程序之飘落的银杏
2021/04/17 Python
使用tensorflow 实现反向传播求导
2021/05/26 Python