放大镜
时间:2019-09-27
本文章向大家介绍放大镜,主要包括放大镜使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 7 <title>Document</title> 8 <style> 9 *{margin: 0;padding: 0;} 10 .box{width: 350px;height: 350px;margin: 100px;border: 1px solid black;position: relative;} 11 .big{width: 350px;height: 350px;position: absolute;top: 0;left: 360px;overflow: hidden;display: none} 12 .mask{width: 175px;height: 175px;background: rgba(255, 255, 0, 0.4);position: absolute;left: 0;top: 0;display: none;cursor: move;} 13 /* .small{position: relative;} */ 14 .big img{position: absolute;} 15 /* img{display: block;} */ 16 17 </style> 18 </head> 19 <body> 20 <div class="box" id="box"> 21 <div class="small" id="small" > 22 <img src="images/small.jpg" width="350" alt="" /> 23 <div class="mask" id="mask"></div> 24 </div> 25 <div class="big" id="big" > 26 <img src="images/big.jpg" width="800" alt="" id="img" /> 27 </div> 28 </div> 29 <script> 30 //1 获取节点 31 var boxObj = document.getElementById('box'); 32 var smallObj = document.getElementById('small'); 33 var maskObj = document.getElementById('mask'); 34 var bigObj = document.getElementById('big'); 35 var imgObj = document.getElementById('img'); 36 //2 鼠标移入移出事件 37 smallObj.onmouseenter = function(){ 38 maskObj.style.display = 'block'; 39 bigObj.style.display = 'block'; 40 } 41 smallObj.onmouseleave = function(){ 42 maskObj.style.display = 'none'; 43 bigObj.style.display = 'none'; 44 } 45 //3 黄色盒子在小图片中的位置 46 smallObj.onmousemove = function(eve){ 47 var e = eve || window.event; 48 //mask 位置 49 var targetX = e.clientX - boxObj.offsetLeft - maskObj.offsetWidth/2; 50 var targetY = e.clientY - boxObj.offsetTop - maskObj.offsetHeight/2; 51 //限制边界 52 var maxX = smallObj.offsetWidth - maskObj.offsetWidth; 53 var maxY = smallObj.offsetHeight - maskObj.offsetHeight; 54 targetX = targetX < 0 ? 0 : targetX; 55 targetX = targetX > maxX ? maxX : targetX; 56 targetY = targetY < 0 ? 0 : targetY; 57 targetY = targetY > maxY ? maxY : targetY; 58 //mask 实时位置 59 mask.style.left = targetX + 'px'; 60 mask.style.top = targetY + 'px'; 61 62 /*******大图的位置显示*******/ 63 var imgX = targetX / maxX * (imgObj.offsetWidth - bigObj.offsetWidth); 64 var imgY = targetY / maxY * (imgObj.offsetHeight - bigObj.offsetHeight); 65 imgObj.style.left = -imgX + 'px'; 66 imgObj.style.top = -imgY + 'px'; 67 } 68 </script> 69 </body> 70 </html>
原文地址:https://www.cnblogs.com/zoutuan/p/11600762.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Scanner关键字的使用+代码介绍+注意事项
- 将一个txt文件,复制到另一个txt文件中(缓冲字节流(BufferedInputStream,BufferedOutputStream))
- java实现客户端服务端互发消息并接收
- 使用NIO实现非阻塞式(相对的)多人聊天室
- 三次握手与四次挥手+图解
- 单例模式-->饿汉式+懒汉式
- 非常有必要了解的Springboot启动扩展点
- 冒泡排序图解+代码示例
- 使用prepareStatement连接数据库实现增、删、改、查
- 插入排序图解与代码示例
- 初步使用Druid连接池+代码示例:对图书进行增删改查
- 创建Servlet的几种方式+web.xml中关于servlet的一些配置+浏览器、服务器交互Postman测试
- 二分法查找介绍+代码
- API文档的自动生成
- cookie创建的三个参数(有效期+有效路径+httponly)