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 相关文章推荐
js控制表单操作的常用代码小结
Aug 15 Javascript
返回上一页并自动刷新的JavaScript代码
Feb 19 Javascript
Egret引擎开发指南之发布项目
Sep 03 Javascript
node.js中的fs.readFile方法使用说明
Dec 15 Javascript
浅谈JavaScript中指针和地址
Jul 26 Javascript
详解maxlength属性在textarea里奇怪的表现
Dec 27 Javascript
基于JavaScript实现类似于百度学术高级检索功能
Mar 02 Javascript
微信小程序 wxapp内容组件 text详细介绍
Oct 31 Javascript
利用原生JS与jQuery实现数字线性变化的动画
Feb 24 Javascript
js读取json文件片段中的数据实例
Mar 09 Javascript
关于前后端json数据的发送与接收详解
Jul 30 Javascript
vue-cli脚手架的安装教程图解
Sep 02 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之sphinx
2013/05/15 PHP
php中字符集转换iconv函数使用总结
2014/10/11 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
JavaScript常用对象的方法和属性小结
2012/01/24 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
jQuery自定义元素右键点击事件(实现案例)
2017/04/28 jQuery
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
vue + vuex todolist的实现示例代码
2018/03/09 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
javascript验证form表单数据的案例详解
2019/03/25 Javascript
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
layui+jquery支持IE8的表格分页方法
2019/09/28 jQuery
javascript实现移动端红包雨页面
2020/06/23 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
Python中tell()方法的使用详解
2015/05/24 Python
详解flask入门模板引擎
2018/07/18 Python
python实现简单的单变量线性回归方法
2018/11/08 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
python文件转为exe文件的方法及用法详解
2019/07/08 Python
python错误调试及单元文档测试过程解析
2019/12/19 Python
python实现logistic分类算法代码
2020/02/28 Python
详解Python yaml模块
2020/09/23 Python
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
手工制作的意大利礼服鞋:Ace Marks
2018/12/15 全球购物
剪枝的学问教学反思
2014/02/07 职场文书
陈欧广告词
2014/03/14 职场文书
大学生党员自我评价范文
2014/04/09 职场文书
邀请函模板
2015/02/02 职场文书
学习保证书怎么写
2015/02/26 职场文书
2016年情人节问候语
2015/11/11 职场文书
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers
Oracle数据库事务的开启与结束详解
2022/06/25 Oracle