本文实例为大家分享了jQuery实现放大镜效果的具体代码,供大家参考,具体内容如下
动画:
1、鼠标移入显示区图片时,显示选择框;
2、放大镜特效,将图片位于选择框内的部分放大显示;
3、点击下方小图片和左右移动按钮时正确的显示图片
实现方法:
1、放大效果:放大区的与显示区使用相同的图片,并设置放大区图片的长宽为显示区的二倍;
2、选择框拖动效果:鼠标移动时获得鼠标的坐标,并根据选择框的和图片的offset()属性计算出选择框的新位置。同时修改放大区图片的位置,使其与选择框内的部分对应;
3、点击小图片效果:修改小图片的class改变其样式,同时修改显示区和放大区图片的src显示对应的图片;
4、左移按钮:点击时通过each函数找到当前显示的图片,然后判断是否为第一张图片,如果是第一张图片则将最后一张图片设置为要显示的图片,修改其样式,同时修改显示区和放大区图片的src显示对应的图片。若果不是第一张图片,则将前一张图片设置为要显示的图片,修改其样式,同时修改显示区和放大区图片的src显示对应的图片;
5、右移按钮:原理有左移按钮相同。
(详见下方代码)
动画效果:
<!DOCTYPE html> <head> <meta charset="UTF-8"> <title>放大镜</title> <script src="/UploadFiles/2021-04-02/jquery.min.js">css代码
*{ margin: 0; padding: 0; list-style: none; } #container{ margin: 50px auto; width: 1000px; } .box{ position: relative; float: left; width: 400px; height: 380px; } .normal{ position: relative; width: 400px; height: 300px; } .normal img{ width: 400px; height: 300px; } .small{ margin-top: 10px; width: 400px; height: 60px; } .small .left{ position: relative; float: left; width: 10px; height: 60px; } .small .right{ position: relative; float: right; width: 10px; height: 60px; } .item ul li{ position: relative; float: left; margin-left: 5px; padding: 1px; width: 66px; height: 40px; border: 1px solid #ccc; } .item ul li img{ width: 100%; height:100%; } .big{ display: none; position: relative; float: left; margin-left: 20px; width: 400px; height: 300px; overflow: hidden; } .big img{ position: relative; left: 0; top: 0; width: 800px; height: 600px; } .box .kuang{ display: none; position: absolute; left: 0; top: 0; width: 200px; height: 150px; opacity: 0.5; background: #00f; } .item ul .selected{ border: 1px solid orange; }jQuery代码
$(document).ready(function () { //当鼠标进入图片时显示放大框和放大图像 $(".normal").mouseenter(function () { $(".kuang").show(); $(".big").show(); }) //当鼠标离开图片时隐藏放大框和放大图像 $(".normal").mouseleave(function () { $(".kuang").hide(); $(".big").hide(); }) //按下鼠标拖动放大框,右侧放大显示图片位于放大框内的部分 $(".kuang").mousedown(function (e) { x=e.pageX-$(this).offset().left; y=e.pageY-$(this).offset().top; // console.log($(this).offset().top); //console.log(y); $(document).on("mousemove",function(e){ var _x=e.pageX-x-$(".box").offset().left; var _y=e.pageY-y-$(".box").offset().top; //设置_x和_y的范围 if (_x<0){ _x=0; }else if (_x>200){ _x=200; } if (_y<0){ _y=0; } else if(_y>150){ _y=150; } $(".kuang").css({"left": _x, "top": _y}); $(".big img").css({"left":-2*_x,"top":-2*_y}); }) }) //鼠标抬起时停止取消拖动 $(document).mouseup(function () { $(document).off("mousemove"); }) //点击左侧下方小图片时,左侧上方显示相应的图片,且左侧放大区也更改为与小图片对应的图片 $(".item ul li img").click(function () { $(this).parent().addClass("selected") $(this).parent().siblings().removeClass("selected"); $(".normal img").attr("src",$(this).attr("src")); $(".big img").attr("src",$(this).attr("src")); }); //点击向左按钮,选中当前显示图片的前一张图片,小图片样式做相应的修改。图片显示区和右侧图片放大区都改为前一张图片 $(".left").click(function () { $(".small li").each(function (index,value) { if($(value).attr("class")=="selected"){ //如果当前显示第一张图片,则点击向左按钮时显示最后一张图片 if(index==0){ $(value).removeClass("selected") $(".small li").eq(4).addClass("selected"); $(".normal img").attr("src",$(".small li").eq(4).children().eq(0).attr("src")); $(".big img").attr("src",$(".small li").eq(4).children().eq(0).attr("src")); return false; } if (index>0) { $(value).removeClass("selected").prev().addClass("selected"); console.log($(value).prev().children().eq(0).attr("src")); $(".normal img").attr("src",$(value).prev().children().eq(0).attr("src")); $(".big img").attr("src",$(value).prev().children().eq(0).attr("src")); } } }) }); //点击向右按钮,选中当前显示图片的下一张图片,小图片样式做相应的修改。图片显示区和右侧图片放大区都改为下一张图片 $(".right").click(function () { $(".small li").each(function (index,value) { if($(value).attr("class")=="selected"){ //如果当前显示最后一张图片,则点击向右按钮时显示第一张按钮 if(index==4){ $(value).removeClass("selected") $(".small li").eq(0).addClass("selected"); $(".normal img").attr("src",$(".small li").eq(0).children().eq(0).attr("src")); $(".big img").attr("src",$(".small li").eq(0).children().eq(0).attr("src")); return false; } if (index<4) { $(value).removeClass("selected").next().addClass("selected"); $(".normal img").attr("src",$(value).next().children().eq(0).attr("src")); $(".big img").attr("src",$(value).next().children().eq(0).attr("src")); return false; } } }) }); })以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]