jQuery照片伸缩效果不影响其他元素的布局


Posted in Javascript onMay 09, 2014

之前在网上看到这种特效,无奈当时没有收藏网址,导致后来一度不知道这个特效是怎么实现的。今天特意在网上搜罗了一下,果然功夫不负有心人,被我找到了。

我也努力过自己尝试着写:

但只是单纯的图片放大,而且还影响了图片周围的元素的布局(因为图片放大占据了更大的空间)。

后来发现要灵活巧妙的运用overflow和position这两个属性,就能达到目的。其实我觉得CSS(CSS3)中的overflow和position(顺带的top,bottom,left,right)简直是做网页特效无解的组合,当然还是js(jquery)是老大。

废话说了这么多,大家肯定还是很疑惑:这到底是什么特效呢?唉,我的语言表达能力还是很一般,下面我就截图来说明好了:

这个是网页打开的初始模样:
jQuery照片伸缩效果不影响其他元素的布局 
当把鼠标停留在以上6张图片的任意一张图片的时候,会出现我所说的特效(这里我把鼠标放在第3张作为示例):
jQuery照片伸缩效果不影响其他元素的布局 
你会发现图片是缩小了,鼠标放开图片感觉又放大了(回到初始状态),而没有图片溢出的现象,而且不影响其他图片和元素的布局。

下面贴代码了:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>jQuery照片伸缩效果</title> 
</head> 
<!-- The Style --> 
<style type="text/css"> 
*{ 
margin: 0; 
padding: 0; 
} 
body{ 
font-family: "Myriad Pro", "Trebuchet MS", Helvetica, sans-serif; 
font-size: 12px; 
color: #fff; 
} 
#col { 
width: 600px; 
height:400px; 
margin: 20px auto 0px auto; 
border: 1px solid #2D353F; 
} 
.pic { 
width: 200px; 
height: 200px; 
margin: 0px; 
overflow: hidden;/*这边定义了overflow为hidden*/ 
position: relative;/*这边定义了position为relative,这其实是为了下面的img的position可以依照pic定位*/ 
float: left; 
} 
/*图片的原始大小是500*333左右*/ 
/*这里并没有对width宽度做文章,是对height高度做文章的*/ 
.pic a img { 
height: 500px; 
border: none; 
position: absolute; /*正因为父标签定义了position,这边img定义position才有定位依据,要不然就是对于整个浏览器进行定位*/ 
top: -66.5px; 
left: -150px; 
opacity: 0.5; 
-moz-opacity: 0.5; 
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);/*这边为了兼容浏览器,和opacity属性的作用是一样的*/ 
} </style> 
<!-- The JavaScript --> 
<script type="text/javascript" src="js/jquery.min.js"></script> 
<script type="text/javascript"> 
$(function() { 
$('#col img').hover( 
function(){ 
var $this = $(this); 
$this.stop().animate({'opacity':'1.0','height':'200px','top':'0px','left':'0px'}); 
}, 
function(){ 
var $this = $(this); 
$this.stop().animate({'opacity':'0.5','height':'500px','top':'-66.5px','left':'-150px'}); 
} 
); 
}); 
</script> 
<body> 
<div id="col"> 
<div class="pic"> 
<a href="#"> 
<img src="Images/1.jpg"/> 
</a> 
</div> 
<div class="pic"> 
<a href="#"> 
<img src="Images/2.jpg"/> 
</a> 
</div> 
<div class="pic"> 
<a href="#"> 
<img src="Images/3.jpg"/> 
</a> 
</div> 
<div class="pic"> 
<a href="#"> 
<img src="Images/4.jpg"/> 
</a> 
</div> 
<div class="pic"> 
<a href="#"> 
<img src="Images/5.jpg"/> 
</a> 
</div> 
<div class="pic"> 
<a href="#"> 
<img src="Images/6.jpg"/> 
</a> 
</div> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
用javascript实现的图片马赛克后显示并切换加文字功能
Apr 21 Javascript
jQuery中的val()示例应用
Feb 26 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
Jul 01 Javascript
jQuery实现统计复选框选中数量
Nov 24 Javascript
node.js中的fs.mkdirSync方法使用说明
Dec 17 Javascript
Angularjs处理页面闪烁的解决方法
Mar 09 Javascript
vue实现app页面切换动画效果实例
May 23 Javascript
移动端效果之Swiper详解
Oct 09 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
Aug 16 Javascript
JavaScript Canvas编写炫彩的网页时钟
Oct 16 Javascript
Vue Element校验validate的实例
Sep 21 Javascript
解决vuex刷新数据消失问题
Nov 12 Javascript
js四舍五入数学函数round使用实例
May 09 #Javascript
JavaScript实现的购物车效果可以运用在好多地方
May 09 #Javascript
关于Javascript 对象(object)的prototype
May 09 #Javascript
javascript字母大小写转换的4个函数详解
May 09 #Javascript
js统计页面的来访次数实现代码
May 09 #Javascript
JavaScript Array对象扩展indexOf()方法
May 09 #Javascript
js获取鼠标点击的位置实现思路及代码
May 09 #Javascript
You might like
如何在PHP中进行身份认证
2006/10/09 PHP
php cout&amp;lt;&amp;lt;的一点看法
2010/01/24 PHP
smarty中post用法实例
2014/11/28 PHP
php 利用socket发送HTTP请求(GET,POST)
2015/08/24 PHP
PHP使用xpath解析XML的方法详解
2017/05/20 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
js onmousewheel事件多次触发问题解决方法
2014/10/17 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
2020/07/22 Javascript
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
python中os模块详解
2016/10/14 Python
Python使用struct处理二进制的实例详解
2017/09/11 Python
python opencv之SIFT算法示例
2018/02/24 Python
selenium+python自动化测试之鼠标和键盘事件
2019/01/23 Python
超实用的 30 段 Python 案例
2019/10/10 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
利用python实现凯撒密码加解密功能
2020/03/31 Python
在python image 中实现安装中文字体
2020/05/16 Python
Python实现EM算法实例代码
2020/10/04 Python
如何使用amaze ui的分页样式封装一个通用的JS分页控件
2020/08/21 HTML / CSS
艺龙旅行网酒店预订:国内、港澳台酒店
2018/06/26 全球购物
作为网站管理者应当如何防范XSS
2014/08/16 面试题
长安大学毕业生自我鉴定
2014/01/17 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
物业消防安全责任书
2014/07/23 职场文书
公司自我介绍演讲稿
2014/08/21 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
2015年安全保卫工作总结
2015/05/14 职场文书
详解Python常用的魔法方法
2021/06/03 Python
Python基于百度AI实现抓取表情包
2021/06/27 Python