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之querySelector和querySelectorAll使用说明
Oct 09 Javascript
解决Jquery鼠标经过不停滑动的问题
Mar 03 Javascript
2则自己编写的jQuery特效分享
Feb 26 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
Sep 27 Javascript
有关jQuery中parent()和siblings()的小问题
Jun 01 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
Oct 01 Javascript
vue2.X组件学习心得(新手必看篇)
Jul 05 Javascript
Vue指令之 v-cloak、v-text、v-html实例详解
Aug 08 Javascript
微信小程序通过一个json实现分享朋友圈图片
Sep 03 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
Mar 07 Javascript
vue点击按钮实现简单页面的切换
Sep 08 Javascript
vue使用element-ui按需引入
May 20 Vue.js
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
ThinkPHP中URL路径访问与模块控制器之间的关系
2014/08/23 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
PHP实现简单搜歌的方法
2015/07/28 PHP
深入理解PHP变量的值类型和引用类型
2015/10/21 PHP
深入理解PHP内核(一)
2015/11/10 PHP
Thinkphp框架开发移动端接口(2)
2016/08/18 PHP
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
javascript事件冒泡简单示例
2016/06/20 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
iscroll.js滚动加载实例详解
2017/07/18 Javascript
前端常见跨域解决方案(全)
2017/09/19 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
微信小程序--特定区域滚动到顶部时固定的方法
2019/04/28 Javascript
vue-dplayer 视频播放器实例代码
2019/11/08 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
学前端,css与javascript重难点浅析
2020/06/11 Javascript
JQuery+drag.js上传图片并且实现图片拖曳
2020/11/18 jQuery
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
linux下python抓屏实现方法
2015/05/22 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
2017/03/12 Python
浅谈python迭代器
2017/11/08 Python
对numpy和pandas中数组的合并和拆分详解
2018/04/11 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
工商管理专业应届生求职信
2013/11/04 职场文书
学校个人对照检查材料
2014/08/26 职场文书
县人大领导班子四风对照检查材料思想汇报
2014/10/09 职场文书
副总经理岗位职责
2015/02/02 职场文书
总经理年会致辞
2015/07/29 职场文书
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python