沉浸式阅读
Beta

CSS图片放大镜特效

     订阅 网页特效     2018-09-07     网络    小黑    520    0    0    0    2018-09-07
学习要点:一、CSS放大镜特效用处我们看到淘宝店铺产品页面对产品截图鼠标移上选择小区域后对应右侧显示此区域放大图。实际是两张图片,一张小图、一张大图,鼠标移到小图上显示大图对应局部。二、CSS代码#divcss5 { width: 120px; height: 90px; padding: 5px; border: 1px solid #ccc; position: relative; } #divcss5 .small_pic { width: 120px; height: 90px; background: #

一、CSS放大镜特效用处

我们看到淘宝店铺产品页面对产品截图鼠标移上选择小区域后对应右侧显示此区域放大图。实际是两张图片,一张小图、一张大图,鼠标移到小图上显示大图对应局部。

二、CSS代码


#divcss5 { width: 120px; height: 90px; padding: 5px;
 border: 1px solid #ccc; position: relative; } 
#divcss5 .small_pic { width: 120px; height: 90px; background: #eee;
 position: relative; } 
#divcss5 .float_layer { width: 50px; height: 50px; border: 1px solid #000;
 background: #fff; filter: alpha(opacity: 30); opacity: 0.3;
 position: absolute; top: 0; left: 0; display:none; } 
#divcss5 .mark {width:100%; height:100%; position:absolute; z-index:2;
 left:0px; top:0px; background:red; filter:alpha(opacity:0); opacity:0;} 
#divcss5 .big_pic { position: absolute; top: -1px; left: 215px; 
width:250px; height:250px; overflow:hidden; border:2px solid #CCC; display:none; } 
#divcss5 .big_pic img { position:absolute; top: -30px; left: -80px; } 



三、JS代码

function getByClass(oParent, sClass) 
{ 
 var aEle=oParent.getElementsByTagName('*'); 
 var aTmp=[]; 
 var i=0; 
  
 for(i=0;i<aEle.length;i++) 
 { 
  if(aEle[i].className==sClass) 
  { 
   aTmp.push(aEle[i]); 
  } 
 } 
  
 return aTmp; 
} 
 
window.onload=function () 
{ 
 var oDiv=document.getElementById('divcss5'); 
 var oMark=getByClass(oDiv, 'mark')[0]; 
 var oFloat=getByClass(oDiv, 'float_layer')[0]; 
 var oBig=getByClass(oDiv, 'big_pic')[0]; 
 var oSmall=getByClass(oDiv, 'small_pic')[0]; 
 var oImg=oBig.getElementsByTagName('img')[0]; 
 oMark.onmouseover=function () 
 { 
  oFloat.style.display='block'; 
  oBig.style.display='block'; 
 }; 
  
 oMark.onmouseout=function () 
 { 
  oFloat.style.display='none'; 
  oBig.style.display='none'; 
 }; 
  
 oMark.onmousemove=function (ev) 
 { 
  var oEvent=ev||event; 
   
  var l=oEvent.clientX-oDiv.offsetLeft-oSmall.offsetLeft-oFloat.offsetWidth/2; 
  var t=oEvent.clientY-oDiv.offsetTop-oSmall.offsetTop-oFloat.offsetHeight/2; 
   
  if(l<0) 
  { 
   l=0; 
  } 
  else if(l>oMark.offsetWidth-oFloat.offsetWidth) 
  { 
   l=oMark.offsetWidth-oFloat.offsetWidth; 
  } 
   
  if(t<0) 
  { 
   t=0; 
  } 
  else if(t>oMark.offsetHeight-oFloat.offsetHeight) 
  { 
   t=oMark.offsetHeight-oFloat.offsetHeight; 
  } 
  oFloat.style.left=l+'px'; 
  oFloat.style.top=t+'px'; 
  var percentX=l/(oMark.offsetWidth-oFloat.offsetWidth); 
  var percentY=t/(oMark.offsetHeight-oFloat.offsetHeight); 
  oImg.style.left=-percentX*(oImg.offsetWidth-oBig.offsetWidth)+'px'; 
  oImg.style.top=-percentY*(oImg.offsetHeight-oBig.offsetHeight)+'px'; 
 }; 
}; 

四、HTML代码片段


<div id="divcss5"> 
<div class="small_pic"> 
<span class="mark"></span> 
    <span class="float_layer"></span> 
    <img src="https://www.mbkfw.com/static/image/lazy.gif" class="lazy" original="zhanghanyun_s.jpg" width=120px height=90px /></div> 
    <div class="big_pic"><img src="https://www.mbkfw.com/static/image/lazy.gif" class="lazy" original="zhanghanyun.jpg" /></div> 
</div> 


本文标题: CSS图片放大镜特效

本文链接: https://www.mbkfw.com/course/446.html (转载时请注明来源链接)

本文说明: 有问题或投稿请发送至: 邮箱/kf@dtmuban.com    QQ/290948585

特别鸣谢: 如果您觉得本文对您有帮助,请给我们一个小小的赞,收藏本文更利于反复学习哦!

 
destoon程序前端开发标签生成器

下班PC阅读不方便?

手机也可以随时学习开发

微信关注公众号“商企云服”
"模板开发网前端开发教学"
每日干货技术分享
 
0

圈友点评

文明上网理性发言,请遵守网络评论服务协议


色彩
×

《客户实名在线注册登记》售后一直都在!

关注

微信
关注

微信扫一扫
不同的环境体验

幸运大转盘,好礼等您拿

模板开发网公众号

模板开发网微信小程序

代授权

程序
授权

黑小二

联系
客服

很高兴为您服务
尊敬的用户,欢迎您咨询,我们为新用户准备了优惠好礼。咨询客服

联系客服:

在线QQ: 290948585

客服电话: 18605917465

E_mail邮箱: kf@dtmuban.com

微信公众号: 商企云服

微信小程序: 模板开发

QQ客服 微信客服DT授权代办 在线交谈 智能小云

工作时间:

周一至周五: 09:00 - 18:00

APP下载

安卓
APK

模板开发网安卓版APP

反馈

我要
反馈