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 相关文章推荐
HTTP状态代码以及定义(解释)
Feb 02 Javascript
JS解决ie6下png透明的方法实例
Aug 02 Javascript
JavaScript动态添加列的方法
Mar 25 Javascript
javascript删除数组重复元素的方法汇总
Jun 24 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
Nov 04 Javascript
javascript检测移动设备横竖屏
May 21 Javascript
JavaScript SHA512加密算法详细代码
Oct 06 Javascript
Node.js下自定义错误类型详解
Oct 17 Javascript
BootStrap表单验证 FormValidation 调整反馈图标位置的实例代码
May 17 Javascript
javascript的this关键字详解
May 20 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
May 30 Javascript
vue中实现Monaco Editor自定义提示功能
Jul 05 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中计算中文字符串长度、截取中文字符串的函数代码
2011/08/09 PHP
LNMP部署laravel以及xhprof安装使用教程
2017/09/14 PHP
js 巧妙去除数组中的重复项
2010/01/25 Javascript
js select常用操作控制代码
2010/03/16 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
javascript实现微信分享
2014/12/23 Javascript
jQuery实现鼠标滑向当前图片高亮显示并且其它图片变灰的方法
2015/07/27 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
2016/03/22 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
Promise.all中对于reject的处理方法
2018/08/01 Javascript
Vue路由之JWT身份认证的实现方法
2019/08/26 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
Vue结合路由配置递归实现菜单栏功能
2020/06/16 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
[05:02][DOTA2]DOTA进化论 第一期
2013/09/27 DOTA
python读取csv文件示例(python操作csv)
2014/03/11 Python
收集的几个Python小技巧分享
2014/11/22 Python
Python使用bs4获取58同城城市分类的方法
2015/07/08 Python
python构建深度神经网络(DNN)
2018/03/10 Python
儿童编程python入门
2018/05/08 Python
python实现连续图文识别
2018/12/18 Python
python飞机大战pygame游戏之敌机出场实现方法详解
2019/12/17 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
2020/11/13 Python
image-set实现Retina屏幕下图片显示详细介绍
2012/12/24 HTML / CSS
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
内科护士实习自我鉴定
2013/10/17 职场文书
4s店总经理岗位职责
2013/12/31 职场文书
民间个人借款协议书
2014/09/30 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
2015年护士工作总结范文
2015/03/31 职场文书
销售内勤岗位职责范本
2015/04/13 职场文书
node快速搭建后台的实现步骤
2022/02/18 NodeJs