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 检测浏览器类型和版本的代码
Sep 15 Javascript
浅析document.createDocumentFragment()与js效率
Jul 08 Javascript
按Enter键触发事件的jquery方法实现代码
Feb 17 Javascript
JS实现局部选择打印和局部不选择打印
Apr 03 Javascript
jQuery中hover方法和toggle方法使用指南
Feb 27 Javascript
JS实现DIV容器赋值的方法
Dec 14 Javascript
javascript用正则表达式过滤空格的实现代码
Jun 14 Javascript
微信小程序  audio音频播放详解及实例
Nov 02 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
Oct 25 Javascript
利用Angular2 + Ionic3开发IOS应用实例教程
Jan 15 Javascript
vue实现axios图片上传功能
Aug 20 Javascript
javascript 高级语法之继承的基本使用方法示例
Nov 11 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
smtp邮件发送一例
2006/10/09 PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
2013/06/24 PHP
php实现在服务器端调整图片大小的方法
2015/06/16 PHP
thinkphp 手机号和用户名同时登录
2017/01/20 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
JSONP 跨域访问代理API-yahooapis实现代码
2012/12/02 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
2013/05/15 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
2013/08/07 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
jQery使网页在显示器上居中显示适用于任何分辨率
2014/06/09 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
jquery.cookie实现的客户端购物车操作实例
2015/12/24 Javascript
浅谈JavaScript函数的四种存在形态
2016/06/08 Javascript
Vue组件tree实现树形菜单
2017/04/13 Javascript
easyUI下拉列表点击事件使用方法
2017/05/18 Javascript
详解Nodejs之npm&amp;package.json
2017/06/15 NodeJs
node使用UEditor富文本编辑器的方法实例
2017/07/11 Javascript
聊聊JS动画库 Velocity.js的使用
2018/03/13 Javascript
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
vue+canvas实现拼图小游戏
2020/09/18 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
Django中的forms组件实例详解
2018/11/08 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
Flask框架搭建虚拟环境的步骤分析
2019/12/21 Python
利用python绘制正态分布曲线
2021/01/04 Python
利用纯CSS3实现tab选项卡切换示例代码
2016/09/21 HTML / CSS
HTML5实现简单图片上传所遇到的问题及解决办法
2016/01/20 HTML / CSS
Weekendesk意大利:探索多种引人入胜的周末主题
2016/10/14 全球购物
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
婚礼主持结束词
2014/03/13 职场文书
2015幼儿园新学期寄语
2015/02/27 职场文书
Nginx URL重写rewrite机制原理及使用实例
2021/04/01 Servers