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 实现父窗口引用弹出窗口的值的脚本
Aug 07 Javascript
基于JQuery实现异步刷新的代码(转载)
Mar 29 Javascript
EditPlus注册码生成器(js代码实现)
Mar 25 Javascript
第四章之BootStrap表单与图片
Apr 25 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
Nov 16 Javascript
js实现复选框的全选和取消全选效果
Jan 03 Javascript
Vue.js常用指令的使用小结
Jun 23 Javascript
关于Vue.nextTick()的正确使用方法浅析
Aug 25 Javascript
AngularJS监听ng-repeat渲染完成的方法
Mar 20 Javascript
js canvas实现写字动画效果
Nov 30 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
May 01 Javascript
浅谈es6中的元编程
Dec 01 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
基于CI框架的微信网页授权库示例
2016/11/25 PHP
php微信公众号开发(3)php实现简单微信文本通讯
2016/12/15 PHP
PHP xpath()函数讲解
2019/02/11 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
2011/10/24 Javascript
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
2016/06/14 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
JavaScript原生节点操作小结
2017/01/17 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
jQuery 表单序列化实例代码
2017/06/11 jQuery
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
详解小程序输入框闪烁及重影BUG解决方案
2018/08/31 Javascript
浅谈Vue 性能优化之深挖数组
2018/12/11 Javascript
详解vue的双向绑定原理及实现
2019/05/05 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
2020/02/07 Javascript
javascript中可能用得到的全部的排序算法
2020/03/05 Javascript
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
pycharm 更改创建文件默认路径的操作
2020/02/15 Python
Python如何将装饰器定义为类
2020/07/30 Python
python中实现栈的三种方法
2020/12/19 Python
CSS3绘制有活力的链接下划线
2016/07/14 HTML / CSS
斯凯奇澳大利亚官网:SKECHERS澳大利亚
2018/03/31 全球购物
欧洲最大的拼图游戏商店:JigsawPuzzle.co.uk
2018/07/04 全球购物
经济实惠的豪华家具:My-Furniture
2019/03/12 全球购物
瑞士隐形眼镜和护理产品网上商店:Linsenklick
2019/10/21 全球购物
ASP.NET中的身份验证有那些
2012/07/13 面试题
2014年乡镇工作总结
2014/11/21 职场文书
医院员工辞职信范文
2015/05/12 职场文书
gojs实现蚂蚁线动画效果
2022/02/18 Javascript