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 相关文章推荐
url 编码 js url传参中文乱码解决方案
Apr 11 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
Jan 03 Javascript
JS嵌套函数调用上下文的问题解决
Mar 26 Javascript
JavaScript 模块化编程(笔记)
Apr 08 Javascript
jQuery学习心得总结(必看篇)
Jun 10 Javascript
vue 里面使用axios 和封装的示例代码
Sep 01 Javascript
详解vue-cli官方脚手架配置
Jul 20 Javascript
Vue通过ref父子组件拿值方法
Sep 12 Javascript
利用js-cookie实现前端设置缓存数据定时失效
Jun 18 Javascript
vue中datepicker的使用教程实例代码详解
Jul 08 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
Aug 02 jQuery
layui checkbox默认选中,获取选中值,清空所有选中项的例子
Sep 02 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
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
php中的比较运算符详解
2013/10/28 PHP
php实现paypal 授权登录
2015/05/28 PHP
用JAVASCRIPT如何给&amp;lt;textarea&amp;gt;&amp;lt;/textarea&amp;gt;赋值
2007/04/20 Javascript
Javascript 学习笔记 错误处理
2009/07/30 Javascript
基于jQuery的input输入框下拉提示层(自动邮箱后缀名)
2012/06/14 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
JavaScript中实现最高效的数组乱序方法
2014/10/11 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
2015/09/14 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
jQuery插件实现文件上传功能(支持拖拽)
2020/08/27 Javascript
vue接入腾讯防水墙代码
2019/05/07 Javascript
Python 模板引擎的注入问题分析
2017/01/01 Python
Python内置模块turtle绘图详解
2017/12/09 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
mac 安装python网络请求包requests方法
2018/06/13 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
python实时检测键盘输入函数的示例
2019/07/17 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
Python 字符串、列表、元组的截取与切片操作示例
2019/09/17 Python
numpy:找到指定元素的索引示例
2019/11/26 Python
Pytorch的mean和std调查实例
2020/01/02 Python
Python count函数使用方法实例解析
2020/03/23 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
html5 canvas移动浏览器上实现图片压缩上传
2016/03/11 HTML / CSS
马来西亚最好的婴儿商店:Motherhood
2017/09/14 全球购物
如何开发安全的AJAX应用
2014/03/26 面试题
广告学毕业生求职信
2014/01/30 职场文书
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
迎新春趣味活动方案
2014/08/24 职场文书
干部四风问题整改措施思想汇报
2014/10/13 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
redis客户端实现高可用读写分离的方式详解
2021/07/04 Redis