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 相关文章推荐
CSS(js)限制页面显示的文本字符长度
Dec 27 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
Mar 25 Javascript
页面实时更新时间的JS实例代码
Dec 18 Javascript
Markdown+Bootstrap图片自适应属性详解
May 21 Javascript
真正好用的js验证上传文件大小的简单方法
Oct 27 Javascript
JavaScript实现三级联动菜单实例代码
Jun 26 Javascript
关于vue.js组件数据流的问题
Jul 26 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
Oct 17 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
May 09 Javascript
vue 更改连接后台的api示例
Nov 11 Javascript
angular inputNumber指令输入框只能输入数字的实现
Dec 03 Javascript
vue 如何使用递归组件
Oct 23 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实现异步调用方法研究与分享
2011/10/27 PHP
PHP简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
调整PHP的性能
2013/10/30 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
javascript引导程序
2008/10/26 Javascript
jQuery 入门讲解1
2009/04/15 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
javascript中的void运算符语法及使用介绍
2013/03/10 Javascript
鼠标滚轮改变图片大小的示例代码
2013/11/20 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
2015/08/24 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
JavaScript门面模式详解
2017/10/19 Javascript
angular6 填坑之sdk的方法
2018/12/27 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
JSON stringify方法原理及实例解析
2020/10/23 Javascript
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
Python进程通信之匿名管道实例讲解
2015/04/11 Python
Python单链表简单实现代码
2016/04/27 Python
解决python3 Pycharm上连接数据库时报错的问题
2018/12/03 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
python3下载抖音视频的完整代码
2019/06/05 Python
浅谈python多进程共享变量Value的使用tips
2019/07/16 Python
Python通过VGG16模型实现图像风格转换操作详解
2020/01/16 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
澳大利亚家具和家居用品在线:BROSA
2017/11/02 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
中专毕业生自我鉴定
2013/11/21 职场文书
大学生党员承诺书
2014/05/20 职场文书
2014年志愿者工作总结
2014/11/20 职场文书
补充协议书
2015/01/28 职场文书
通讯稿范文
2015/07/22 职场文书
升职自荐书
2019/05/09 职场文书
MYSQL(电话号码,身份证)数据脱敏的实现
2021/05/28 MySQL