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椭圆旋转相册实现代码
Jan 16 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
Apr 10 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
Jun 07 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
Jun 24 Javascript
javascript实现随机显示星星特效
Jan 28 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
Apr 03 Javascript
jQuery实现下拉框功能实例代码
May 06 Javascript
简单实现轮播图效果的实例
Jul 15 Javascript
jQuery插件ajaxFileUpload使用实例解析
Oct 19 Javascript
angular 实现同步验证器跨字段验证的方法
Apr 11 Javascript
详解JavaScript的数据类型以及数据类型的转换
Apr 20 Javascript
vuex实现购物车功能
Jun 28 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
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
PHP 实例化类的一点摘记
2008/03/23 PHP
PHP操作MongoDB GridFS 存储文件的详解
2013/06/20 PHP
PHP中实现生成静态文件的方法缓解服务器压力
2014/01/07 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
JavaScript 应用类库代码
2008/06/02 Javascript
Javascript 模式实例 观察者模式
2009/10/24 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
jquery中交替点击事件toggle方法的使用示例
2013/12/08 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
JavaScript中操作Mysql数据库实例
2015/04/02 Javascript
JavaScript中字符串拼接的基本方法
2015/07/07 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
2016/05/03 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
Angular2搜索和重置按钮过场动画
2017/05/24 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
2017/10/24 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
[01:06]欢迎来到上海,TI9
2018/08/26 DOTA
详解Python中的测试工具
2019/06/09 Python
python 接口实现 供第三方调用的例子
2019/08/13 Python
用python写测试数据文件过程解析
2019/09/25 Python
用python中的matplotlib绘制方程图像代码
2019/11/21 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
成人大专生实习期的自我评价
2013/10/02 职场文书
古汉语文学求职信范文
2014/03/16 职场文书
2015年学校食堂工作总结
2015/04/22 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书