JS实现放大镜效果


Posted in Javascript onSeptember 21, 2020

JS实现放大镜效果,供大家参考,具体内容如下

鼠标移到图片上就可以放大一块区域

代码:

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
   #small{
    width: 700px;
    height: 340px;
    position: absolute;
    left: 70px;
    top: 100px;
   }
   #small img{
    width: 100%;
    height: 100%;
   }
   #mark{
    width: 200px;
    height: 200px;
    background-color:white;
    position: absolute;
    opacity: 0.5;
    filter: alpha(opacity=50);
    left: 0px;
    top: 0px;
    display: none;
   }
   #big{
    width: 400px;
    height: 400px;
    border: 1px solid black;
    left: 800px;
    top: 100px;
    position: absolute;
    overflow: hidden;
    display: none;
   }
   #big img{
    width: 1400px;
    height: 680px;
    position: absolute;
    left: 0px;
    top: 0px;
   }
  </style>
  <script>
   window.onload = function(){
    var oSmall = document.getElementById("small");
    var oBig = document.getElementById("big");
    var oMark = document.getElementById("mark");
    var oBigImg = oBig.getElementsByTagName("img")[0];

    oSmall.onmouseover = function(){
     oMark.style.display = "block";
     oBig.style.display = "block";
    }
    oSmall.onmouseout = function(){
     oMark.style.display = "none";
     oBig.style.display = "none";
    }
    oSmall.onmousemove = function(ev){
     var e = ev || window.event;
     var l = e.clientX - oSmall.offsetLeft - 100;
     if(l <= 0){
      l = 0;
     }
     if(l >= (700-200)){
      l = 500;
     }
     var t = e.clientY - oSmall.offsetTop - 100;
     if(t <= 0){
      t = 0;
     }
     if(t >= (340-200)){
      t = 140;
     }
     oMark.style.left = l + 'px';
     oMark.style.top = t + 'px';

     /* 右边图片移动方向与左边图片方向相反且成倍数移动 */
     oBigImg.style.left = l * -2 + 'px';
     oBigImg.style.top = t * -2 + 'px';

    }
   }
  </script>
 </head>
 <body>
  <div id="small">
   <img src="地狱之门卫士 加里奥.jpg" alt="怎么回事">
   <div id="mark"></div>
  </div>
  <div id="big">
   <img src="地狱之门卫士 加里奥.jpg" alt="怎么回事">
  </div>
 </body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
取得传值的函数
Oct 27 Javascript
Javascript 构造函数 实例分析
Nov 26 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
Dec 12 Javascript
JS组件Bootstrap Select2使用方法详解
Apr 17 Javascript
基于javascript html5实现3D翻书特效
Mar 14 Javascript
JS函数多个参数默认值指定方法分析
Nov 28 Javascript
JavaScript中的call和apply的用途以及区别
Jan 11 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
Feb 03 Javascript
模块化react-router配置方法详解
Jun 03 Javascript
js微信分享接口调用详解
Jul 23 Javascript
JavaScript实现轮播图效果代码实例
Sep 28 Javascript
JS setTimeout与setInterval的区别
Apr 20 Javascript
vue element ui validate 主动触发错误提示操作
Sep 21 #Javascript
Vue Element校验validate的实例
Sep 21 #Javascript
在vue中实现某一些路由页面隐藏导航栏的功能操作
Sep 21 #Javascript
vue3.0 上手体验
Sep 21 #Javascript
微信小程序实现点击页面出现文字
Sep 21 #Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
Sep 21 #Javascript
理解JavaScript中的Proxy 与 Reflection API
Sep 21 #Javascript
You might like
php array_search() 函数使用
2010/04/13 PHP
php查找任何页面上的所有链接的方法
2013/12/03 PHP
php从给定url获取文件扩展名的方法
2015/03/14 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
PHP实现的AES 128位加密算法示例
2019/09/16 PHP
DOMAssitant最新版 DOMAssistant 2.5发布
2007/12/25 Javascript
jQuery 对象中的类数组操作
2009/04/27 Javascript
jQuery 树形结构的选择器
2010/02/15 Javascript
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
原生javascript 学习之js变量全面了解
2016/07/14 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
Vue使用vue-cli创建项目
2017/09/01 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
js基础之事件捕获与冒泡原理
2019/10/09 Javascript
vue prop属性传值与传引用示例
2019/11/13 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
python决策树之C4.5算法详解
2017/12/20 Python
Python使用logging模块实现打印log到指定文件的方法
2018/09/05 Python
在python中安装basemap的教程
2018/09/20 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
python列表推导式入门学习解析
2019/12/02 Python
如何用Python提取10000份log中的产品信息
2021/01/14 Python
python线程优先级队列知识点总结
2021/02/28 Python
享受加州生活方式的时尚舒适:XCVI
2018/07/09 全球购物
Dr. Martens马汀博士德国官网:马丁靴鼻祖
2019/12/26 全球购物
火车来了教学反思
2014/02/11 职场文书
《问银河》教学反思
2014/02/19 职场文书
单位租房协议范本
2014/12/03 职场文书
2015年煤矿安全工作总结
2015/05/23 职场文书
小学生暑假安全保证书
2015/07/13 职场文书
各国货币符号大全
2022/02/17 杂记
Python如何使用循环结构和分支结构
2022/04/13 Python