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 相关文章推荐
js 编写规范
Mar 03 Javascript
JavaScript实现表格排序方法
Jun 14 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
Jan 09 Javascript
jquery中EasyUI使用技巧小结
Feb 10 Javascript
百度地图API之本地搜索与范围搜索
Jul 30 Javascript
javascript判断网页是关闭还是刷新
Sep 12 Javascript
让你一句话理解闭包(简单易懂)
Jun 03 Javascript
canvas实现手机端用来上传用户头像的代码
Oct 20 Javascript
详解在create-react-app使用less与antd按需加载
Dec 06 Javascript
JS学习笔记之原型链和利用原型实现继承详解
May 29 Javascript
node实现爬虫的几种简易方式
Aug 22 Javascript
vue实现短信验证码输入框
Apr 17 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
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
CakePHP框架Session设置方法分析
2017/02/23 PHP
jquery 之 $().hover(func1, funct2)使用方法
2012/06/14 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
初始Nodejs
2014/11/08 NodeJs
jQuery平滑旋转幻灯片特效代码分享
2015/09/07 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
使用NumPy和pandas对CSV文件进行写操作的实例
2018/06/14 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
python闭包、深浅拷贝、垃圾回收、with语句知识点汇总
2020/03/11 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
2021/01/29 Python
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
斯洛伐克电子产品购物网站:DATART
2020/04/05 全球购物
外贸学院会计专业应届生求职信
2013/11/14 职场文书
初中英语教学反思
2014/01/25 职场文书
工作决心书
2014/03/11 职场文书
酒店总经理岗位职责
2014/03/17 职场文书
马智宇结婚主持词
2014/04/01 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
闪闪的红星观后感
2015/06/08 职场文书
党员转正大会主持词
2015/07/02 职场文书
python爬虫之selenium库的安装及使用教程
2021/05/23 Python