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 相关文章推荐
Javascript调用XML制作连动下拉列表框
Jun 25 Javascript
用js实现判断当前网址的来路如果不是指定的来路就跳转到指定页面
May 02 Javascript
JS过滤url参数特殊字符的实现方法
Dec 24 Javascript
javascript包装对象实例分析
Mar 27 Javascript
js实现获取div坐标的方法
Nov 16 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
Mar 30 Javascript
js动态获取子复选项并设计全选及提交的实现方法
Jun 24 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
Oct 15 Javascript
BootStrap tab选项卡使用小结
Aug 09 Javascript
vue环形进度条组件实例应用
Oct 10 Javascript
ES6中Promise的使用方法实例总结
Feb 18 Javascript
结合axios对项目中的api请求进行封装操作
Sep 21 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
Drupal7中常用的数据库操作实例
2014/03/02 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
php实现断点续传大文件示例代码
2020/06/19 PHP
用倒置滤镜把div倒置,再把table倒置。
2007/07/31 Javascript
JavaScript null和undefined区别分析
2009/10/14 Javascript
浅谈JavaScript 框架分类
2014/11/10 Javascript
jquery validate.js表单验证入门实例(附源码)
2015/11/10 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
2016/02/17 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
jquery实现折叠菜单效果【推荐】
2017/03/08 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
2017/12/10 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
2018/04/21 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
2020/06/08 Javascript
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
kaggle+mnist实现手写字体识别
2018/07/26 Python
Python基于pygame实现单机版五子棋对战
2019/12/26 Python
python 装饰器的使用示例
2020/10/10 Python
如何利用python生成MD5并去重
2020/12/07 Python
Camper鞋西班牙官方网上商店:西班牙马略卡岛的鞋类品牌
2019/03/14 全球购物
社会公德演讲稿
2014/05/20 职场文书
少先队活动总结
2014/08/29 职场文书
2014年民政工作总结
2014/11/26 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
结婚仪式主持词
2015/06/29 职场文书
教师年度考核自我评鉴
2015/08/11 职场文书
宪法宣传标语100条
2019/10/15 职场文书
浅谈Python类的单继承相关知识
2021/05/12 Python
MySQL 使用事件(Events)完成计划任务
2021/05/24 MySQL
vue的项目如何打包上线
2022/04/13 Vue.js