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 相关文章推荐
让插入到 innerHTML 中的 script 跑起来的实现代码
Jul 01 Javascript
JavaScript中的small()方法使用详解
Jun 08 Javascript
JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解
Mar 31 Javascript
js与applet相互调用的方法
Jun 22 Javascript
使用JavaScript获取URL中的参数(两种方法)
Nov 16 Javascript
javascript实现数据双向绑定的三种方式小结
Mar 09 Javascript
轻松理解JavaScript闭包
Mar 14 Javascript
JS简单获取当前日期和农历日期的方法
Apr 17 Javascript
node.js基于express使用websocket的方法
Nov 09 Javascript
详解Koa中更方便简单发送响应的方式
Jul 20 Javascript
webpack打包非模块化js的方法
Oct 24 Javascript
Vue中的this.$options.data()和this.$data用法说明
Jul 26 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 无限级分类
2017/05/04 PHP
php利用ob_start()清除输出和选择性输出的方法
2018/01/18 PHP
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
js的Prototype属性解释及常用方法
2014/05/08 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
2014/12/16 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
2016/12/08 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
Python+matplotlib+numpy绘制精美的条形统计图
2018/01/02 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
2019/07/04 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
英国高街品牌:Miss Selfridge(塞尔弗里奇小姐)
2016/09/21 全球购物
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
一套Delphi的笔试题二
2013/05/11 面试题
架构师岗位职责
2013/11/18 职场文书
《一个小村庄的故事》教学反思
2014/04/13 职场文书
大学生村官座谈会发言材料
2014/05/25 职场文书
云南省召开党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
卖房协议书样本
2014/10/30 职场文书
求职自我推荐信
2015/03/24 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
车间班组长竞聘书
2015/09/15 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书
奥特曼十大神器:奥特手镯在榜,第一是贝利亚的神器
2022/03/18 日漫
Python必备技巧之字符数据操作详解
2022/03/23 Python