昨天看一篇博文的时候,说到了这个效果,于是自己想试着写一个,没有使用插件,
基本的想法就是,左边是小图,右边对应大图,鼠标进去小图范围之后,获取他的坐标(x,y)然后计算
x/小图的宽度*大图得宽度/2
y/小图的高度*大图得高度/2
计算出来的两个结果即为大图得左右偏移距离
/2是为了让右边区域不会出现空白。
经过测试,ie7以上以及主流浏览器都可以用,代码如下:
<div class="wrap"> <div class="small"> <img src="/UploadFiles/2021-04-02/1s.jpg">
.wrap{overflow:hidden;margin:50px auto;} .small{position:relative;float:left;width:214px;height:328px;} .tool{width:100px;height:100px;position:absolute;top:50px;left:100px;background:rgba(255,255,255,0.5);} .big{float:left;margin:0 40px;width:330px;overflow:hidden;height:328px;display:none;position:relative;} .big img{position:absolute;width:650px;height:960px;}主要的JS代码如下:
//不加蒙版放大镜 $('.small').mousemove(function(e) { $(this).siblings('.big').show(); //var e = event || window.event; var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; //滚动条距离屏幕左边的宽度 var scrollY = document.documentElement.scrollTop || document.body.scrollTop; //滚动条距离屏幕上面的高度 //e.pageX相对于文档左边的高度 //e.pageY相对于文档上面的高度 //e.clientX相对于屏幕左边的高度 //e.clientY相对于屏幕上面的高度 var xx = e.pageX || e.clientX + scrollX;//相对于文档左边的宽度 var yy = e.pageY || e.clientY + scrollY;//相对于文档上面的高度 //.offset().top元素相对于文档上面的位置 //.offset().left元素相对于文档左面的位置 var y=yy-$(this).offset().top;//鼠标相对于元素的x,y坐标 var x=xx-$(this).offset().left; var width=$(this).width(); var lwidth=$(this).siblings('.big').find('img').width(); //按照大图与小图的比例来进行移动的 var left=x/width*lwidth/2; var height=$(this).height(); var lheight=$(this).siblings('.big').find('img').height(); var top=y/height*lheight/2; $(this).siblings('.big').find('img').css({left:-left,top:-top}); //console.log(x + '---' + y); //不加蒙版放大镜结束 //蒙版跟着动 var twidth=$(this).find('.tool').width(); var theight=$(this).find('.tool').height(); var tleft=x-twidth/2; var ttop=y-theight/2; if(tleft<0){ tleft=0; } if(tleft>width-twidth){ tleft=width-twidth; } if(ttop<0){ ttop=0 } if(ttop>height-theight){ ttop=height-theight; } $(this).find('.tool').css({left:tleft,top:ttop}); });效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年11月28日
2024年11月28日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓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]