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 相关文章推荐
快速保存网页中所有图片的方法
Jun 23 Javascript
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
Aug 09 Javascript
js复制网页内容并兼容各主流浏览器的代码
Dec 17 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
Jan 13 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
Jun 01 Javascript
js动态获取子复选项并设计全选及提交的实现方法
Jun 24 Javascript
详解Angular中的自定义服务Service、Provider以及Factory
Apr 22 Javascript
Vue 实现列表动态添加和删除的两种方法小结
Sep 07 Javascript
vue 父组件通过v-model接收子组件的值的代码
Oct 27 Javascript
js判断一个对象是数组(函数)的方法实例
Dec 19 Javascript
vue使用element-ui实现表单验证
Dec 13 Vue.js
vue中封装axios并实现api接口的统一管理
Dec 25 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
PHP自动生成后台导航网址的最佳方法
2013/08/27 PHP
php获取远程图片体积大小的实例
2013/11/12 PHP
PHP按行读取文件时删除换行符的3种方法
2014/05/04 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
2016/05/06 PHP
JavaScript 异常处理 详解
2015/02/06 Javascript
js实现选中复选框文字变色的方法
2015/08/14 Javascript
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
2016/06/12 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
Javascript删除数组里的某个元素
2019/02/28 Javascript
jQuery实现form表单基于ajax无刷新提交方法实例代码
2019/11/04 jQuery
[05:28]刀塔密之一:团结则存
2014/07/03 DOTA
用Python编写一个基于终端的实现翻译的脚本
2015/04/24 Python
Python与R语言的简要对比
2017/11/14 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
使用Python读取大文件的方法
2018/02/11 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
2019/02/25 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
CSS3地图动态实例代码(圆圈向外扩散)
2018/06/15 HTML / CSS
CSS教程:CSS3圆角属性
2009/04/02 HTML / CSS
无畏的旅行:Intrepid Travel
2017/12/20 全球购物
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
马来西亚在线购物市场:PGMall.my
2019/10/13 全球购物
一套英文Java笔试题面试题
2016/04/21 面试题
医药营销专业个人自荐信
2013/09/29 职场文书
写自荐信的注意事项
2014/03/09 职场文书
工作鉴定评语
2014/05/04 职场文书
孝敬父母的演讲稿
2014/05/14 职场文书
2015年大学社团工作总结
2015/04/09 职场文书
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫
如何让你的Nginx支持分布式追踪详解
2022/07/07 Servers
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript