在开发商城的时候,往往会用到图片的放大功能,这里把自己在近期项目中使用的放大镜特效做一下总结(非插件)。
放大镜效果 常用的js组件jquery.imagezoom,jquery.jqzoom,jquery.zoom等 这些组件大同小异。 大家感兴趣的话可以去百度一下。
本文主要是使用非组件方法来做放大镜效果。
每一张图片都要生成三种尺寸,否则放大镜的效果不会太明显,这里是 54X54 320X320 800X800。
首先看效果:鼠标经过小图时,大图随之切换。
首先是html
<div class="infoimg"> <div class="mainImg" id="largePicDiv"> <img id="largePic" src="/UploadFiles/2021-04-02/20160120103334758_w.jpg">这里id为move的div是放大镜的手柄 id为detailPic的div是右侧放大镜
css
.infoimg { float: left; padding: 0 20px 30px 0; position: relative; width: 320px; } .infoimg img { display: block; height: 320px; width: 320px; } .allImg { height: 58px; margin: 15px 0 0 10px; overflow: hidden; width: 310px; } .allImg img { cursor: pointer; float: left; height: 54px; margin-right: 3px; padding: 2px; width: 54px; } .allImg img.current { border: 1px solid #f1f1f1; padding: 1px; } .mainImg { position: relative; } .mainImg .zoom_pup { background: url("../images/zoom_pup.png") repeat 0 0; cursor: move; height: 175px; left: 0px; position: absolute; top: 160px; width: 175px; display: none; } .big_pic { background-color:#fff; border: 1px solid #f5f5f5; height: 400px; left: 320px; overflow: hidden; position: absolute; text-align: center; top: 0; width: 400px; display: none; } .big_pic img{ width: 800px; height: 800px;}JS代码
//切换图片 $(".allImg img").mouseover(function() { $(".allImg img").removeClass("current"); $(this).addClass("current"); var src = $(this).attr("src"); $("#largePic").attr("src", src.replace("_x", "_w")); $("#detailPic img").attr("src", src.replace("_x", "_b")); }); //放大镜效果 $("#largePicDiv").bind("mousemove", function(e) { var ev = e || event; var mouseX = ev.pageX; var mouseY = ev.pageY; var picLeft = $("#largePic").offset().left; var picTop = $("#largePic").offset().top; var picWidth = $("#largePic").width(); var picHeight = $("#largePic").height(); var xLength = mouseX - picLeft; var yLength = mouseY - picTop; var qWidth = picWidth / 4; var lastQWidth = picWidth - picWidth / 4; var qHeight = picHeight / 4; var lastQHeight = picHeight - picHeight / 4; if (xLength < qWidth) { $("#move").css("left","0px"); } else { if (xLength > lastQWidth) { $("#move").css("left", (lastQWidth - qWidth) + "px"); } else { $("#move").css("left", (xLength - qWidth) + "px"); } } if (yLength < qHeight) { $("#move").css("top", "0px"); } else { if (yLength > lastQHeight) { $("#move").css("top", (lastQHeight - qHeight) + "px"); } else { $("#move").css("top", (yLength - qHeight) + "px"); } } $("#detailPic > img").css("left", parseInt($("#move").css("left")) * (-800 / picWidth) + "px").css("top", parseInt($("#move").css("top")) * (-800 / picWidth) + "px").css("position", "absolute"); });当然这里最下面一排小图片 还缺少一个功能,就是当图片大于5张的时候可以左右滚动图片,这样可以容纳大于5张的图片。这里项目中使用的图片一般都小于5张,因此这个功能没有,大家可以参考一下当当或京东。
以上就是jQuery实现图片放大镜效果的代码,希望对大家的学习有所帮助。
标签:
jQuery,放大镜
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
金钱帮资源网 Copyright www.kbjia.com
暂无“基于jQuery仿淘宝产品图片放大镜特效”评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年10月15日
2024年10月15日
- 群星《歌手2024 第4期》[FLAC/分轨][563.76MB]
- RiffKitten-ChaosParade(2024)[24-44,1]FLAC
- RuneKlakegg-Nattevandrer(2024)[24-96]\FLAC
- 赖冰霞.2006-金嗓典藏辑2IN1(南方金点系列)2CD【南方】【WAV+CUE】
- 群星.1988-国语金曲尽精英VOL.2【瑞成】【WAV+CUE】
- 张宇.1999-雨一直下【EMI百代】【WAV+CUE】
- 袁娅维.2021-月亮失眠了(DELUXE)【华纳】【FLAC分轨】
- AlanBroadbent-JazzFunk(2024)[24-44,1]
- 梅艳芳《绝代芳华》开盘母带[低速原抓WAV+CUE]
- ABC唱片-《外国精逊母带直刻神奇黑胶[APE+CUE].
- 群星《天赐的声音第五季 第6期》[320K/MP3][101.43MB]
- 群星《天赐的声音第五季 第6期》[FLAC/分轨][526.16MB]
- 群星《说唱梦工厂 第2期》[320K/MP3][96.37MB]
- 杨宗宪.1994-留你留袂着【有容唱片】【WAV+CUE】
- 李翊君.2005-勇敢的爱【创意唱片】【WAV+CUE】