jQuery照片伸缩效果,不是单纯的图片放大缩小,不影响其他元素的布局

之前在网上看到这种特效,无奈当时没有收藏网址,导致后来一度不知道这个特效是怎么实现的。今天特意在网上搜罗了一下,果然功夫不负有心人,被我找到了。

我也努力过自己尝试着写:

但只是单纯的图片放大,而且还影响了图片周围的元素的布局(因为图片放大占据了更大的空间)。

后来发现要灵活巧妙的运用overflow和position这两个属性,就能达到目的。其实我觉得CSS(CSS3)中的overflow和position(顺带的top,bottom,left,right)简直是做网页特效无解的组合,当然还是js(jquery)是老大。

废话说了这么多,大家肯定还是很疑惑:这到底是什么特效呢?唉,我的语言表达能力还是很一般,下面我就截图来说明好了:

这个是网页打开的初始模样:

当把鼠标停留在以上6张图片的任意一张图片的时候,会出现我所说的特效(这里我把鼠标放在第3张作为示例):

你会发现图片是缩小了,鼠标放开图片感觉又放大了(回到初始状态),而没有图片溢出的现象,而且不影响其他图片和元素的布局。

下面贴代码了:

<!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>

jQuery照片伸缩效果,不是单纯的图片放大缩小,不影响其他元素的布局

时间: 2024-08-09 14:48:40

jQuery照片伸缩效果,不是单纯的图片放大缩小,不影响其他元素的布局的相关文章

img标签jquery 实现点击图片放大缩小

1.准备Html文本 <%-- img标签--%> <asp:Image ID="Sys_Adpic1" runat="server"  Style="max-width: 200px;" /> <%-- 缩放照片div--%> <div id="ViewQi" class="ViewQistyle"> <div id="showdiv&quo

swift3.0 图片放大缩小动画效果

一. 内容说明 跟我之前这篇类似,只不过那篇是OC版本,这篇是Swift版本 OC版本链接地址 目的:通过kingfisher请求5张图片,展示出来.然后利用图片放大缩小管理类展示图片,多张图片可以滑动浏览 效果图如下,想看动态的效果图,请看上面链接中的OC版本效果图,跟这篇是一样的. 本demo,只加载本地图片的demo下载链接 ,需要加载网络图片的,需要下载Kingfisher 二.源码展示 0. 图片测试demo源码 [html] view plain copy import Founda

浅谈CSS和JQuery实现鼠标悬浮图片放大效果

对于刚刚学习网页前台设计的同学一定对图片的处理非常苦恼,那么这里简单的讲解一下几个图片处理的实例. 以.net为平台,微软的Visual Studio 2013为开发工具,当然前台技术还是采用CSS3和HTML,Java的小伙伴不要绕道~~~ 言归正传,那么我们首先要完成什么样的图片处理呢? 一.CSS3图片的放大 css3中,有一个属性transform,官方的解释是:允许向元素应用2D或3D的转换.这些转换当然就包含旋转.缩放.移动或倾斜了.有兴趣的同学可以继续了解http://www.w3

基于jquery的鼠标滚动放大缩小图片

一直以来都想写一个图片放大和缩小的小玩意,本来以为会很复杂,这几天自己思考了一下,原来是so easy啊.目前实现的放大缩小,主要时依据鼠标的滚轮触发事件来实现的,废话少说直接上源码. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns

PhotoView实现图片随手势的放大缩小的效果

项目需求:在listView的条目中如果有图片,点击条目,实现图片的放大,并且图片可以根据手势来控制图片放大缩小的比例.类似于微信朋友圈中查看好友发布的照片所实现的效果. 思路是这样的:当点击条目的时候触发listview的点击事件,跳转到另一个页面,在页面中自定义一个ImageView来实现图片的随手势的放大.但是点击图片来实现图片消失这一点这块小弟不会做,并且图片随手势的放大效果并不好.所幸的是最中找到了photoview这一个控件.使用photoView控件需要使用jar包:发现博客园不能

图标放大缩小移动,加标注点,并带点击效果的实现

第一:了解三个类 Canvas,在英语中,这个单词的意思是帆布.在Android中,则把Canvas当做画布,只要我们借助设置好的画笔(Paint类)就可以在画布上绘制我们想要的任何东西:另外它也是显示位图(Bitmap类)的核心类.随用户的喜好,Canvas还可设置一些关于画布的属性,比如,画布的颜色.尺寸等.Canvas提供了如下一些方法: 一种就是使用普通View的canvas画图,还有一种就是使用专门的SurfaceView的canvas来画图.两种的主要是区别就是可以在SurfaceV

学习使用 jQuery &amp; CSS3 制作照片堆栈效果

在这个小实验中,我们使用 jQuery & CSS3 创建了一个交互式的照片堆栈效果.提供了一些模拟现实的互动的可能性给用户.这个想法的思路是:有一些照片在桌面上可以拖放一样,堆放和删除,每个动作类似现实世界的行为. 在线演示      源码下载 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10个效果[源码下载] 12款经典的白富美型

仿jQuery的siblings效果的js原生代码

仿jQuery的siblings效果的js原生代码 <previousSibling> 属性返回选定节点的上一个同级节点(在相同树层级中的前一个节点). <nextSibling> 属性返回被选节点的下一个同级节点(在相同树层级中的下一个节点). 如果不存在这样的节点,则该属性返回 null.//元素节点的节点类型是 1  obj.previousSibling.nodeType ==1; reverse() 方法用于颠倒数组中元素的顺序. push() 方法可向数组的末尾添加一个

基于jquery多种切换效果的焦点图(兼容ie6)

随着html5和css3的诞生.各种非常酷.非常炫的网页焦点图在各个前端技术网上满天飞.基于html5和css3技术的焦点图有一个弊端就是要在ie9以上才支持.这让需兼容ie6到ie8的页面又爱又恨.下面为大家介绍一款完全基于juery的焦点图,而且这款插件完美支持ie6,多种百叶窗切换,效果还是相当赏目的.无图无真相,还是先上图 点击这里在线预览 点击这里下载源码 使用教程 这款插件代码很简洁,使用也非常简单.看截图 ok.今天就和大家分享到这里.周末好快,作为一名码农真是苦逼,明天还要早起,