上一篇是关于手风琴效果的,但是有时候我们需要放大的图片大小不规律,想要在屏幕中间显示大图。

图片放大可以做为单独的效果,也可以和其他的效果结合起来。比如Demo 里的Demo5.html是以图片无缝切换和图片放大结合的。

整个效果分为两个部分。

1、定义遮罩层

 $('.mark').css({
position: "absolute",
top: 0,
backgroundColor: "#777",
zIndex: 1002,
left: 0,
display: " none"
} )

当点击图片显示大图的时候把整个屏幕遮罩,改变透明度

function marked() {
$('.mark').css({
//height: $(window).height(),
//width: $(window).width()
//出现滚动条的时候有问题(2013-11-07)
           height: document.documentElement.scrollHeight,
width: document.documentElement.scrollWidth
}).show().animate({opacity: 0.6}, 0);
}

2、定义图片在屏幕中间显示。首先要做的是在a标签链接大图片路径

 <li>
<span style="position: absolute;bottom: 5px;width: 100%;text-align: center;">111111</span>
<a class="img_b" href="images/1_b.jpg">
<img class="aa" alt="" width="150" height="150" src="data:images/1_s.jpg"/>
</a>
</li>

获取图片的高宽来判断显示位置,设置图片位置时要在getimg.onload = function () {}里面设置,因为当图片太大时,我们必须要先等它加载完了才知道他的高宽。

  function setImg(url) {
var getimg = new Image();
//getimg.src = url;//如果放在这里在IE有问题,点击第一次后就会再也不出现,缓存的原因。把他放到后面(2013-11-07)
var imgh, imgw;
getimg.onload = function () {
imgh = getimg.height;
imgw = getimg.width; var trueW = imgw * (400 / imgh);
if (imgh > 400) {//如果图片太大,高度设为400,宽度等比例缩小
$('.imageBox_bg').css({height: 400, width: trueW});
$('.bigImg').css({height: 400, width: trueW});
}
else {
$('.imageBox_bg').css({height: imgh, width: imgw });
$('.bigImg').css({height: imgh, width: imgw});
}
divCenter(url);
};
getimg.src = url;
}

图片在屏幕中间显示。

    function divCenter(url) {
// var top = ($(window).height() - $('.imageBox_bg').height()) / 2,
// left = ($(window).width() - $('.imageBox_bg').width()) / 2;
//当出现滚动条的时候就不能再中间显示(2013-11-07)
var top = ($(window).height() - $('.imageBox_bg').height()) / 2 + $(document).scrollTop(),
left = ($(window).width() - $('.imageBox_bg').width()) / 2 + $(document).scrollLeft();
$('.bigImg').attr("src", url);
$('.imageBox_bg').css({
top: top,
left: left
}).stop().fadeIn(500);
}

在click function里返回值要设为false,不然点击图片的时候会在另一个页面显示图片了。

 $(this).click(function () {
var url = $(this).attr("href");
setImg(url);
marked();
return false;
});

除了主要的两个部分,还有一些点击大图后隐藏大图,这些代码比较简单,用hide()函数就可以了。

现在可以把无缝切换和图片放大结合了。效果很不错吧!!

版权所有,转载请注明出处,谢谢!

jquery 图片放大的更多相关文章

  1. jquery图片放大插件鼠标悬停图片放大效果

    都知道jquery都插件是非常强大的,最近分享点jquery插件效果,方便效果开发使用. 一.HTML代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...

  2. jquery图片放大功能简单实现

    图片放大在某些例如商品细节放大图比较常见,本文写了一个图片放大的示例适合日常应付,有需求的朋友可以参考下 <div class="jqzoom"> <img sr ...

  3. 转载jQuery图片放大插件[twiPicZoom]

    转载http://xuzhihong1987.blog.163.com/blog/static/26731587201312821725913/ 功能说明: 双击查看大图,鼠标滚动放大缩小,能够切换到 ...

  4. jQuery图片放大预览

    在线演示 本地下载

  5. jQuery Lightbox图片放大预览

    简介:jQuery Lightbox图片放大预览代码是一款可以在用户点击页面中的小图片时,将该图片的高清版本以Lightbox的方式放大显示在页面的中间,提高用户的体验度. 效果展示 http://h ...

  6. 推荐两款简单好用的图片放大jquery插件

    一.zoomfiy.js 推荐可以从这里下载 使用说明: 使用该jquery 插件引入该插件的js:zoomfiy.js 或 min引入该插件的css:zoomfiy.css 或 min前后顺序都可j ...

  7. jquery图片查看插件,支持旋转、放大、缩小、拖拽、缩略图(仿qq图片查看)

    最近做了一个jquery图片查看的插件,目的是能精确查看图片的详情,插件支持图片旋转.放大.缩小.拖拽.缩略图显示,界面效果是按照window的qq查看图片功能写的,当然不尽相同. 具体功能: 1. ...

  8. jQuery.YesShow - 图片轮播插件(带图片放大功能)

    jQuery.YesShow - 图片轮播插件(带图片放大功能) 使用简单,原文件只要这样就可以了:<div id="yes">         <ul> ...

  9. jQuery鼠标悬停图片放大显示

    jQuery鼠标悬浮放于图片上之后图片放大显示的效果,即鼠标移到图片上图片突出显示,鼠标移开后恢复原来的模样,你可以在图片滚动效果中加上本特效,相信会更炫一些. <!DOCTYPE html P ...

随机推荐

  1. NativeExcel 读取文件

    class function T_EShopDataBill.ImportData(const AFileName: String; AList: T_EShopDataModelList; var ...

  2. 【原创】一起学C++ 之指针、数组、指针算术 ---------C++ primer plus(第6版)

    C++ Primer Plus 第6版 指针和数组基本等价的原因在于指针算术! 一.指针 ⑴整数变量+1后,其值将增加1: ⑵指针变量+1后,增加的量等于它指向的类型的字节数: ⑶C++将数组名解析为 ...

  3. WebApi中帮助页Description的中文显示

    转自:http://edi.wang/post/2013/10/28/auto-generate-help-document-aspnet-webapi 我选择Web API的一个重要原因就是因为可以 ...

  4. JSP内置对象详解

    jsp中内置对象:request.response.session.applecation.out.pagecontesx.config.page.exception.cookie 1.request ...

  5. 1206: [HNOI2005]虚拟内存 - BZOJ

    Description 操作系统中一种重要的存储管理技术就是虚拟内存技术.操作系统中允许进程同时运行,也就是并行.每个进程都有其相对独立的数据块(进程运行的过程中将对其进行读写操作).理想的情况下,这 ...

  6. FileFilter

    FileFilter 下面的例子中我们创建了一个FileFilter类,此类根据文件名的扩展名是否为.png来筛选文件.创建FileFilter实例之后需要将此实例作为参数传给File的listFil ...

  7. 3.5 spring-replaced-method 子元素的使用与解析

    1.replaced-method 子元素 方法替换: 可以在运行时用新的方法替换现有的方法,与之前的 look-up不同的是replace-method 不但可以动态地替换返回的实体bean,而且可 ...

  8. spring4+hibernate3

    环境说明:spring4.0+hibernate3 数据库:oracle 连接池:c3p0 项目结构: lib中的jar: 一.配置spring.xml 说明:这里采用的配置模式将hibernateT ...

  9. asp.net中@ Import 命令的使用

    @ Import  将命名空间显式导入到 ASP.NET 应用程序文件(如网页.用户控件.母版页或 Global.asax 文件)中,同时使导入的命名空间的所有类和接口可用于文件.导入的命名空间可以是 ...

  10. 用 OneAPM Cloud Insight 监控 Docker 性能

    Docker 是构建和部署软件的一个新兴的轻量级的平台,也是一个减轻替代虚拟机的容器.Docker 通过给开发者提供兼容不同环境的镜像,成为解决现代基础设施的持续交付的一个流行的解决方案. 和虚拟机一 ...