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代码
Sep 02 Javascript
一个报数游戏js版(约瑟夫环问题)
Aug 05 Javascript
JavaScript原型继承之基础机制分析
Aug 26 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
Jul 08 Javascript
Jquery解析json数据详解
Dec 26 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
Apr 04 Javascript
javascript基于DOM实现省市级联下拉框的方法
May 14 Javascript
针对后台列表table拖拽比较实用的jquery拖动排序
Oct 10 Javascript
vsCode安装使用教程和插件安装方法
Aug 24 Javascript
微信小程序基于高德地图查找位置并显示文字
Oct 30 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
Jul 28 Javascript
JavaScript中时间格式化新思路toLocaleString()
Nov 07 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函数重载的替代方法--伪重载详解
2015/05/08 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
一种JavaScript的设计模式
2006/11/22 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
Jquery中$.post和$.ajax的用法小结
2015/04/28 Javascript
javascript结合canvas实现图片旋转效果
2015/05/03 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
Bootstrap源码解读网格系统(3)
2016/12/22 Javascript
JavaScript轮播图简单制作方法
2017/02/20 Javascript
jQuery输入框密码的显示隐藏【代码分享】
2017/04/29 jQuery
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
2018/09/13 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
2020/02/17 Javascript
React冒泡和阻止冒泡的应用详解
2020/08/18 Javascript
js实现日历
2020/11/07 Javascript
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
python3 enum模块的应用实例详解
2019/08/12 Python
django连接oracle时setting 配置方法
2019/08/29 Python
MxNet预训练模型到Pytorch模型的转换方式
2020/05/25 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
2020/11/28 Python
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
全球虚拟主机商:HostGator
2017/02/06 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
进程的查看和调度分别使用什么命令
2013/12/14 面试题
二年级班级文化建设方案
2014/05/10 职场文书
医院竞聘演讲稿
2014/05/16 职场文书
素质教育标语
2014/06/27 职场文书
信访稳定工作汇报
2014/10/27 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
企业承诺书格式范文
2015/04/28 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
2016年党课培训学习心得体会
2016/01/07 职场文书