jS放大镜效果

久未见 提交于 2020-03-30 08:28:36

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="demo4.aspx.cs" Inherits="test.demo4" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>放大镜</title>
<meta name="keywords" content="" />
<meta name="Description" content="" />
<style type="text/css">
body,div,img {padding:0;margin:0;}
.con {width:256px;height:192px;float:left;}
.con img {width:256px;height:192px;position:absolute;border:1px blue solid;}
.dingwei {position:absolute;width:100px;height:100px;background-color:black;filter:alpha(opacity=20);opacity:0.2;cursor:move;display:none;}
.big {float:left;width:400px;height:400px;margin:100px;overflow:hidden;}
</style>
</head>
<body>
<div class="con" id="father" style="position:relative;">
<img src="img/2.jpg" alt="图片"/>
<div id="aa" class="dingwei">&nbsp;</div>
</div>

<div class="big" id="bpic">
<div class="inside"><img src="img/2.jpg" alt="图片"/></div>
</div>
<script type="text/javascript">
var divs = document.getElementById("aa");
 var fa = document.getElementById("father");
var maxWidth = maxHeight = S = 0;
  var big = document.getElementById("bpic");
 fa.onmouseover = function () {
 divs.style.display = "block";
 big.style.display = "block";
  S = divs.offsetHeight / 2;
maxWidth = fa.clientWidth - divs.offsetWidth;
 maxHeight = fa.clientHeight - divs.offsetHeight; //物块的活动范围;
   }

  fa.onmousemove = function (e) {
 a = e || window.event;
  var sbX = a.clientX;
  var sbY = a.clientY;
var num = big.clientWidth / divs.clientWidth;
  var lf = sbX - S; //鼠标的位置减去元素位置的一半的值就是元素的定位值;
var tp = sbY - S;
 //tp =tp<0?0:tp>maxHeight?maxHeight:tp;
 //lf =lf<0?0:lf>maxWidth?maxWidth:lf;//判断物块的定位位置然后进行设置
 if (tp < 0) { tp = 0; }
else {
 if (tp > maxHeight) { tp = maxHeight; }
  else { tp = sbY - S; }
 }
  //判断物块的位置进行设置
   if (lf < 0) { lf = 0; }

 else {
  if (lf > maxWidth) { lf = maxWidth; }

  else { lf = sbX - S; }
 }

  divs.style.left = lf + "px";
 divs.style.top = tp + "px";
big.scrollLeft = num * lf;
big.scrollTop = num * tp;
 }

 fa.onmouseout = function () {
divs.style.display = "none";
  big.style.display = "none";

 }

</script> 

</body>
</html>


 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!