zoukankan      html  css  js  c++  java
  • 鼠标略过图片放大js效果

    鼠标略过图片放大js效果

    <script type="text/javascript">
                
    exid = 0;
    exstep = 0;
    exwdth = 0;
    exht = 0;
    extp = 0;
    exlft = 0;
    extot = 0;
    extotst = 15;
                
    function expandthumb(thumbid, fullwidth, fullheight) {
      if (extot != 0) {
        clearTimeout(extot);
      }
      if (exid > 0 && exid != thumbid) {
        restorethumb();
      }
      if (exid != thumbid) {
        img = document.getElementById("screen" + thumbid);
        img.style.display = 'block';
        exid = thumbid;
        exstep = 1;
        exwdth = fullwidth;
        exht = fullheight;
        extp = img.offsetTop;
        exlft = img.offsetLeft;
      } else if (exstep < 1) {
        exstep = 1;
      }
      expandstep();
    }
                
    function doexpand() {
      img = document.getElementById("screen" + exid);
      thumb = document.getElementById("thumb" + exid);
      myscroll = getScroll();
      if (extp + thumb.height > myscroll.top + myscroll.height) {
        finaltop = myscroll.top + myscroll.height - exht;
      } else {
        finaltop = extp + thumb.height - exht;
      }
      if (finaltop < myscroll.top) { finaltop = myscroll.top; }
      img.style.top = finaltop + ((extp - finaltop) * 
                                  (extotst - exstep) / extotst) + 'px';
                
      if (exlft + thumb.width > myscroll.left + myscroll.width) {
        finalleft = myscroll.left + myscroll.width - exwdth;
      } else {
        finalleft = exlft + thumb.width - exwdth;
      }
      if (finalleft < myscroll.left) { finalleft = myscroll.left; }
      img.style.left = finalleft + ((exlft - finalleft) * 
                                    (extotst - exstep) / extotst) + 'px';
                
      img.width = thumb.width + ((exwdth - thumb.width) * exstep / extotst);
      img.height = thumb.height + ((exht - thumb.height) * exstep / extotst);
    }
                
    function restorethumb() {
      img = document.getElementById("screen" + exid);
      img.style.top = '';
      img.style.left = '';
      img.style.display = 'none';
      exid = 0;
    }
                
    function expandstep() {
      extot = 0;
      doexpand();
      if (exstep < extotst) {
        exstep++;
        extot = setTimeout("expandstep()", 20);
      }
    }
                
    function reducestep() {
      extot = 0;
      doexpand();
      if (exstep > 0) {
        exstep--;
        extot = setTimeout("reducestep()", 20);
      } else {
        restorethumb();
      }
    }
                
    function reducethumb(thumbid) {
      if (extot != 0) {
        clearTimeout(extot);
      }
      if (exstep > 0) {
        reducestep();
      }
    }
                
    // returns the scroll position and size of the browser
    function getScroll() {
      if (document.all && typeof document.body.scrollTop != "undefined") {  
        // IE model
        var ieBox = document.compatMode != "CSS1Compat";
        var cont = ieBox ? document.body : document.documentElement;
        return {
          left:   cont.scrollLeft,
          top:    cont.scrollTop,
            cont.clientWidth,
          height: cont.clientHeight
        };
      } else {
        return {
          left:   window.pageXOffset,
          top:    window.pageYOffset,
            window.innerWidth,
          height: window.innerHeight
        };
      }
    }
    </script>
    <body>
       <img src='1.jpg' width=400 height=400 alt='img' border=0
         id='screen142' onmouseout='reducethumb(142); return false;'
         class='position: absolute; display: none;'>
      <img src='1.jpg' width=100 height=100 alt='mis' border=0
         id='thumb142' onmouseover='expandthumb(142, 500, 449);'></a>
    </body>
  • 相关阅读:
    Html列表分页算法
    .Net分布式锁
    Net中的常见的关键字
    C# 操作windows服务[启动、停止、卸载、安装]
    虚拟机设置静态IP与配置网络
    WebService服务介绍与调用
    StackService.Redis 应用
    Centos+Redis 集群
    浏览器LocalStroage使用
    WCF与WebService的区别(转)
  • 原文地址:https://www.cnblogs.com/aimyfly/p/2946368.html
Copyright © 2011-2022 走看看