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 相关文章推荐
web 页面分页打印的实现
Jun 22 Javascript
Node.js node-schedule定时任务隔多少分钟执行一次的方法
Feb 10 Javascript
JS实现的网页倒计时数字时钟效果
Mar 02 Javascript
jQuery实现首页顶部可伸缩广告特效代码
Apr 15 Javascript
跟我学习javascript创建对象(类)的8种方法
Nov 20 Javascript
jQuery实现分隔条左右拖动功能
Nov 21 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
Jul 12 Javascript
vue父组件点击触发子组件事件的实例讲解
Feb 08 Javascript
通过说明与示例了解js五种设计模式
Jun 17 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
Aug 14 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
Feb 01 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
Oct 22 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
php中判断文件空目录是否有读写权限的函数代码
2012/08/07 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
php实现微信分享朋友链接功能
2019/02/18 PHP
php实现获取近几日、月时间示例
2019/07/06 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
eclipse如何忽略js文件报错(附图)
2013/10/30 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
jQuery简单实现两级下拉菜单效果代码
2015/09/15 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
2017/12/25 jQuery
微信小程序实现蒙版弹出窗功能
2019/09/17 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
python简单实现AES加密和解密
2019/03/28 Python
简单了解python变量的作用域
2019/07/30 Python
手动安装python3.6的操作过程详解
2020/01/13 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
Python plt 利用subplot 实现在一张画布同时画多张图
2021/02/26 Python
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
中专生求职自荐信范文
2013/12/22 职场文书
光荣入党自我鉴定
2014/01/22 职场文书
市优秀教师事迹材料
2014/02/05 职场文书
销售经理岗位职责
2015/01/31 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
Vue提供的三种调试方式你知道吗
2022/01/18 Vue.js