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 相关文章推荐
use jscript List Installed Software
Jun 11 Javascript
JS刷新框架外页面七种实现代码
Feb 18 Javascript
Extjs407 getValue()和getRawValue()区别介绍
May 21 Javascript
浅谈JavaScript之事件绑定
Jul 08 Javascript
Jquery插件easyUi表单验证提交(示例代码)
Dec 30 Javascript
设置jsf的选择框h:selectOneMenu为不可编辑状态的方法
Jan 07 Javascript
JavaScript中的Math.sin()方法使用详解
Jun 15 Javascript
js实现三张图(文)片一起切换的banner焦点图
Aug 25 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
Nov 01 Javascript
快速使用node.js进行web开发详解
Apr 26 Javascript
JS判断两个数组或对象是否相同的方法示例
Feb 28 Javascript
js实现for循环跳过undefined值示例
Jul 02 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
8个出色的WordPress SEO插件收集
2011/02/26 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
php中mkdir()函数的权限问题分析
2016/09/24 PHP
PHP房贷计算器实例代码,等额本息,等额本金
2017/04/01 PHP
jQuery html()等方法介绍
2009/11/18 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
JS 全屏和退出全屏详解及实例代码
2016/11/07 Javascript
详解javascript中对数据格式化的思考
2017/01/23 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
Vue中this.$router.push参数获取方法
2018/02/27 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
Python 装饰器使用详解
2017/07/29 Python
python中实现延时回调普通函数示例代码
2017/09/08 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
wxpython实现图书管理系统
2018/03/12 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
python re的findall和finditer的区别详解
2020/11/15 Python
世界上最大的网络主机公司:1&1
2016/10/12 全球购物
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
普通院校学生的自荐信
2013/11/27 职场文书
高中军训广播稿
2014/01/14 职场文书
市场营销调查计划书
2014/05/02 职场文书
红头文件任命书范本
2014/06/05 职场文书
国企干部对照检查材料
2014/08/22 职场文书
商铺门面租房协议书
2014/10/21 职场文书
2015年工商局个人工作总结
2015/07/23 职场文书
工伤调解协议书
2016/03/21 职场文书
Vue和Flask通信的实现
2021/05/19 Vue.js
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL