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 相关文章推荐
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
Apr 18 Javascript
JS控制表单提交的方法
Jul 09 Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
Nov 25 Javascript
webpack+vue.js实现组件化详解
Oct 12 Javascript
JS生成一维码(条形码)功能示例
Jan 19 Javascript
jquery实现自适应banner焦点图
Feb 16 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
Jun 13 Javascript
jQuery动态添加.active 实现导航效果代码思路详解
Aug 29 jQuery
template.js前端模板引擎使用详解
Oct 10 Javascript
vue.js 微信支付前端代码分享
Feb 10 Javascript
Jquery如何使用animation动画效果改变背景色的代码
Jul 20 jQuery
Vue-cli打包后如何本地查看的操作
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
用ODBC的分页显示
2006/10/09 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
深入理解PHP内核(二)之SAPI探究
2015/11/10 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
yii通过小物件生成view的方法
2016/10/08 PHP
laravel 中如何使用ajax和vue总结
2017/08/16 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
2011/05/12 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
2013/03/15 Javascript
jQuery选择器querySelector的使用指南
2015/01/23 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
2015/05/12 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
es6 filter() 数组过滤方法总结
2019/04/03 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
小程序实现tab标签页
2020/11/16 Javascript
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
Python参数类型以及常见的坑详解
2019/07/08 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
几款好用的python工具库(小结)
2020/10/20 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
韩国现代百货官网:Hmall
2018/03/21 全球购物
九州传奇上机题
2014/07/10 面试题
文员个人的求职信范文
2013/09/26 职场文书
学校政风行风自查自纠报告
2014/10/21 职场文书
财产分割协议书范本
2014/11/03 职场文书
话题作文之呼唤
2019/12/18 职场文书
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS
Python预测分词的实现
2021/06/18 Python
Windows Server 2019 域控制器安装图文教程
2022/04/28 Servers
shell进度条追踪指令执行时间的场景分析
2022/06/16 Servers