有的时候我们需要在页面中展示一些高清大图,但是如果直接放在页面中又会显得很占地方,影响用户体验
或者在一些商城网站中,我们需要展示商品的高清大图,所以就需要一个类似放大镜的效果

具体效果请点击这里:图片放大镜效果

原理很简单,首先加载一个略缩图,提高页面加载速度,然后在鼠标划过略缩图的时候创建一个div来控制背景的background-position的范围展示局部大图,具体代码如下:

<!--
* 作者:罗旧的博客
* 网址:http://www.haoshuzx.com
* 时间:2016-08-29
* e-mail:ydx425@gmail.com
--><!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>图片放大插件</title><script src="jquery-2.1.4.min.js"></script><style>* {margin: 0;padding: 0;}.left {float: left;}.wrap {overflow: hidden;margin: 50px 0 0 50px;position: relative;}.wrap img {border: 1px solid #ccc;}.wrap span {position: absolute;left: 0;top: 0;width: 50px;height: 50px;background: rgba(255, 255, 255, 0.3);display: none;}.zoom {width: 500px;height: 500px;border: 1px dashed #ccc;background: url("001.jpg") no-repeat;background-position: center center;margin-top: 50px;display: none;}</style>
</head>
<body>
<div class="wrap left"><img src="001_thumb.jpg" alt="略缩图"/><span></span>
</div>
<div class="zoom left"></div><script>(function ($) {$.fn.zoom = function () {var img = $(this).find("img");var span = $(this).find("span");var zoom = $(".zoom");//获取略缩图相对于窗口的位置var tLeft = $(img).offset().left;var tTop = $(img).offset().top;$(this).mousemove(function (e) {//获取鼠标坐标var mLeft = e.clientX;var mTop = e.clientY;//计算鼠标相对于图片区域的位置var l = mLeft - tLeft;var t = mTop - tTop;//鼠标移动时移动span$(span).css({"display": "block","left": (l - 25) + "px","top": (t - 25) + "px"});//计算偏移量var ll = (l / $(img).width()) * 100 + "%";var tt = (t / $(img).height()) * 100 + "%";//设置大图偏移$(zoom).css({"display": "block","background-position": ll + " " + tt})});//解除绑定$(this).mouseout(function () {$(span).css("display", "none");$(zoom).css("display", "none");})}})(jQuery);$(".wrap").zoom();
</script></body>
</html>

以上只是简单的实现了效果,在具体项目中,还需要根据实际情况设定大图的加载时间,是页面加载完成之后加载还是用户鼠标划过的时候才加载,可以根据实际需求判断,还需要考虑的就是zoom区域的位置,需要采用绝对定位来避免打乱现有的文档流样式.

点击这里下载源码:图片放大镜效果源码
本文为作者原创文章,转载请注明来自 罗旧的博客,链接:http://www.haoshuzx.com/qianduan/43.html

[原创] JQ仿淘宝图片局部放大镜效果相关推荐

  1. 仿淘宝图片空间 点击文字 出现可编辑文本框 提交ajax数据到后台修改

    思路来源:昨天看淘宝的图片空间,发现了一个效果. 点击宝贝的名字,出现一个可编辑的文本框,然后ajax提交(如果数据变的话),改变数据 看图说明: 编辑完了提交进行修改数据 自己做的代码效果如下: 具 ...

  2. js仿淘宝主图放大镜功能

    js仿淘宝主图放大镜功能 演示地址 下载地址

  3. 仿淘宝商品放大展示效果制作(放大镜效果)

    如果您觉得这篇文章有用,欢迎点赞收藏或有什么建议请在评论区留言,我看到后会第一时间回复的,谢谢! (分享时刻) mac上取色比较好用的小工具:啜色: 好用的截屏小工具:Snipaste (常用的一个功 ...

  4. 【每日一练】原生js仿淘宝主图放大镜功能,附学习源码

    在我们的项目中,经常会遇到各种功能效果的实现,对于每一项功能的实现方式,都有很多种,这些实现方式没有好坏之分,只有适合与否,但是我个人建议,如果项目急就选择自己擅长的方式实现,比较完成工作更加重要嘛. ...

  5. 用cloud-zoom做一个仿淘宝的宝贝放大镜查看功能

    插件我就不多介绍了,在我整理的<常用JQuery插件整理>里介绍,也有示例.但在实际运用中,我发现一个插件无法达到的效果,语言比较难描述,看图说话吧 发现什么问题没有,我做了个demo,虽 ...

  6. 仿淘宝图片放大预览效果

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...

  7. vue实现淘宝京东商品放大镜效果

    实现原理: 两个盒子,通过映射来同步进行移动,达到移动放大镜的效果. 注意点: 遮罩层的面积/盒子的面积 == 大图展示盒子的面积/大图图片的面积 一定要是等比例的才行,严格控制样式 效果图: 贴上代 ...

  8. 仿淘宝,天猫评分效果

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...

  9. Android仿淘宝加入购物车布局效果

    实现效果: 思路:点击购物车弹出一个PopupWindow,主要弄清楚的是PopupWindow的高度以及透明度,图片的位置,图片下层布局的高度(它的高度比popup的低一些).PopupWindow ...

最新文章

  1. 关于Python类属性与实例属性的讨论
  2. “春色满园”!谷歌新数据中心有望实现100%可再生能源
  3. SAP Spartacus API 的事务处理特性
  4. C#操作配置文件中appSettings,connectionStrings节点
  5. Memcached 缓存个体,对象,泛型,表
  6. linux系统打开m3u8文件,M3U8 文件扩展名: 它是什么以及如何打开它?
  7. 动态规划——双11既可以薅羊毛还能花钱最少
  8. mysql找出借书超过5本的读者_MySQL 练习题【一】附加题2
  9. 那些有关求解next数组的算法
  10. iOS-国家代码选择功能github开源分享
  11. struts2实现XML异步交互
  12. 洛谷 P1090 合并果子
  13. 时间序列深度学习:seq2seq 模型预测太阳黑子
  14. [Scottgu]ASP.NET vNext系列——数据选择
  15. define语句换行\后不能有空格
  16. 机器视觉科学计算可视化_模因视觉:对模因进行分类的科学
  17. openwrt编译helloworld
  18. Linux 查看日志命令tail的用法
  19. 配置caffe matlab 中遇到的坑
  20. 对JavaEE的理解

热门文章

  1. cs/bs的基本概念
  2. python抓取招聘数据_Python爬取招聘网站数据并做数据可视化处理
  3. java获取某一年某一月的最后一天
  4. 电脑基站测试软件,Signalsitemap PC Tools(阿达基站路测PC辅助工具) V3.50 官方版
  5. python取模运算_Python中的取模运算方法
  6. 深度学习caffe实战(一)验证码识别
  7. 华南理工大学计算机系就业率,21考研择校:华南理工大学就业率和薪酬情况统计!...
  8. 学数据分析师有专业要求吗?
  9. Istio系列学习(八)----Istio的目标规则:DestinationRule
  10. 面对人工智能,法律应该做什么