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 相关文章推荐
jquery cookie的用法总结
Nov 18 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
Nov 19 Javascript
js代码验证手机号码和电话号码是否合法
Jul 30 Javascript
两种JS实现屏蔽鼠标右键的方法
Aug 20 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
Dec 16 Javascript
基于JavaScript实现带缩略图的轮播效果
Jan 12 Javascript
原生js实现节日时间倒计时功能
Jan 18 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
Mar 28 Javascript
Express本地测试HTTPS的示例代码
Jun 06 Javascript
浅析Vue 和微信小程序的区别、比较
Aug 03 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
Apr 20 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
Jul 11 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实现清除wordpress里恶意代码
2015/10/21 PHP
JavaScript 事件对象的实现
2009/07/13 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
2016/07/07 Javascript
深入浅析JS Function()构造函数
2016/08/22 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
在element-ui的select下拉框加上滚动加载
2019/04/18 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
2020/05/15 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
python脚本实现验证码识别
2018/06/07 Python
python lxml中etree的简单应用
2019/05/10 Python
Python 虚拟空间的使用代码详解
2019/06/10 Python
Python实现FTP文件传输的实例
2019/07/07 Python
python字典嵌套字典的情况下找到某个key的value详解
2019/07/10 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
django admin.py 外键,反向查询的实例
2019/07/26 Python
Python jieba库分词模式实例用法
2021/01/13 Python
好习惯伴我成长演讲稿
2014/05/21 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
行政申诉状范文
2015/05/20 职场文书
太行山上观后感
2015/06/05 职场文书
新娘父亲婚礼致辞
2015/07/27 职场文书
教师病假条范文
2015/08/17 职场文书