zoukankan      html  css  js  c++  java
  • 放大镜效果

    第一次写博客,JS菜鸟,努力学习中。自己写了一段放大镜特效效果,望前辈多多指点。

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <meta charset="utf-8">
     5 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     6 <title>JS放大镜练习</title>
     7 <meta name="description" content="">
     8 <meta name="keywords" content="">
     9 <link href="" rel="stylesheet">
    10 <style tyle="text/css">
    11 #demo{width: 400px;height: 255px;border: 1px solid #ccc;position: relative;margin:50px;}
    12 #smallbox{position: absolute;z-index: 1;}
    13 #floatbox{width:160px;height: 120px;position: absolute;z-index: 1;background:#fff;filter:alpha(opacity=50);opacity: 0.5;cursor: move;display: none;}
    14 #bigbox{width: 400px;height: 300px;border: 1px solid #ccc;position: absolute;top:0;left:480px;overflow: hidden;display: none;}
    15 #bigbox img{position: absolute;z-index: 5;}
    16 #mark{position: absolute;display: block;width: 400px;height: 255px;z-index: 10;cursor: move;background: #fff;filter:alpha(opacity=0);opacity:0;}
    17 </style>
    18 </head>
    19 <body>
    20 <div id="demo">
    21 <div id="mark"></div>
    22 <div id="smallbox">
    23 <div id="floatbox"></div>
    24 <img src="http://www.codefans.net/jscss/demoimg/201102/11_2_2.jpg" alt="" width='400' height='255'>
    25 </div>
    26 <div id="bigbox">
    27 <img src="http://www.codefans.net/jscss/demoimg/201102/11_2_2.jpg" alt="">
    28 </div>
    29 </div>
    30 <script type="text/javascript">
    31 var objDemo = document.getElementById("demo");
    32 var objMark = document.getElementById("mark");
    33 var objSmall = document.getElementById("smallbox");
    34 var objFloat = document.getElementById("floatbox");
    35 var objBig = document.getElementById("bigbox");
    36 var bigImg = objBig.getElementsByTagName("img")[0];
    37 objMark.onmouseover=function(){
    38 objFloat.style.display = "block";
    39 objBig.style.display = "block";
    40 }
    41 objMark.onmouseout=function(){
    42 objFloat.style.display = "none";
    43 objBig.style.display = "none";
    44 }
    45 objMark.onmousemove=function(ev){
    46 var _event = ev || window.event;
    47 var left= _event.clientX-objDemo.offsetLeft-objSmall.offsetLeft-objFloat.offsetWidth/2;
    48 var top= _event.clientY-objDemo.offsetTop-objSmall.offsetTop-objFloat.offsetHeight/2;
    49 if (left<0) {
    50 left = 0;
    51 } else if(left>(objSmall.offsetWidth-objFloat.offsetWidth)){
    52 left=objSmall.offsetWidth-objFloat.offsetWidth;
    53 }
    54 if (top<0) {
    55 top = 0;
    56 } else if(top>(objSmall.offsetHeight-objFloat.offsetHeight)){
    57 top=objSmall.offsetHeight-objFloat.offsetHeight;
    58 }
    59 objFloat.style.left = left + "px";
    60 objFloat.style.top = top + "px";
    61 
    62 //大图移动 (不是特别懂)
    63 var parentX = left / (objSmall.offsetWidth - objFloat.offsetWidth);
    64 var parentY = top / (objSmall.offsetHeight - objFloat.offsetHeight);
    65 bigImg.style.left = - parentX * (bigImg.offsetWidth - objBig.offsetWidth) + "px";
    66 bigImg.style.top = - parentY * (bigImg.offsetHeight - objBig.offsetHeight) + "px";
    67 }
    68 </script>
    69 </body>
    70 </html>
  • 相关阅读:
    Distinctive Image Features from ScaleInvariant
    Natural Language Toolkit
    Regression analysis
    泌尿系统 Excretory system
    file_get_contents preg_match php nameisboy
    wWAITING
    instructionset architecture Processor Architecture
    improve performance whilemaintaining the functionality of a simpler and more abstract model design of processor hardware
    cluster analysis in data mining
    Maximum Likelihood
  • 原文地址:https://www.cnblogs.com/1989zhiyuan/p/3785767.html
Copyright © 2011-2022 走看看