js放大镜放大购物图片效果


Posted in Javascript onJanuary 18, 2017

图片放大镜效果,供大家参考,具体内容如下

一难点:不让黄盒子出界

二难点:让大盒子相应移动(比例)

<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>我的放大镜</title>
 <style>
  *{
   margin: 0;
   padding: 0;
  }
  .box{
   margin: 100px;
   position: relative;
  }
  .small{
   width: 350px;
   height: 350px;
   border: 1px solid #999;
   position: relative;
  }
  .select{
   display: none;
   width: 100px;
   height: 100px;
   background: rgba(255,255,0,0.4);
   position: absolute;
   left: 0;
   top: 0;
   cursor: move;

  }
  .big{
   display: none;
   position: absolute;
   left: 360px;
   top: 0;
   width: 450px;
   height: 450px;
   border: 1px solid #ccc;
   overflow: hidden;
  }
  .big img{
   position: absolute;
   left: 0;
   top: 0;
  }
 </style> 
</head>
<body>
 <div class="box">
  <div class="small" id="smallbox">
   <img src="images/001.jpg" alt="">
   <div class="select" id="mask" style="display:none;"></div>
  </div>

  <div class="big" id="bigbox">
   <img src="images/0001.jpg" alt="">
  </div>
 </div>

 <script> 
  var smallbox = document.getElementById('smallbox');
  var bigbox = document.getElementById('bigbox');
  var mask = document.getElementById('mask');
  var bigImg = bigbox.children[0];
  smallbox.onmouseover = function(){
   mask.style.display = "block";
   bigbox.style.display = "block";
  }
  smallbox.onmouseout = function(){
   mask.style.display = "none";
   bigbox.style.display = "none";
  }

  smallbox.onmousemove = function(event){
   var event = event || window.event;

   var x = event.clientX - this.offsetParent.offsetLeft - mask.offsetWidth/2;
   var y = event.clientY - this.offsetParent.offsetTop - mask.offsetHeight/2;
   //不让黄盒子出界
   if(x < 0){
    x = 0;
   }else if(x > smallbox.offsetWidth - mask.offsetWidth){
    x = smallbox.offsetWidth - mask.offsetWidth;
   }

   if(y<0) {
    y = 0;
   }else if(y > smallbox.offsetHeight - mask.offsetHeight){
     y = smallbox.offsetHeight - mask.offsetHeight;
   }
   mask.style.left = x + "px";
   mask.style.top = y + "px";

   bigImg.style.left = -x/smallbox.offsetWidth * bigbox.offsetWidth + "px"; //注意是-x
   bigImg.style.top = -y/smallbox.offsetHeight * bigbox.offsetHeight + "px";
  }
 </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
类似GMAIL的Ajax信息反馈显示
Feb 16 Javascript
有道JavaScript监听浏览器的问题
Jun 23 Javascript
javaScript实现浮点数转十六进制字符
Oct 29 Javascript
jquery中$.post()方法的简单实例
Feb 04 Javascript
jquery弹窗插件colorbox绑定动态生成元素的方法
Jun 20 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
Jun 24 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
Feb 28 Javascript
基于JavaScript实现跳转提示页面
Sep 24 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
Oct 28 Javascript
Vue仿手机qq的实例代码(demo)
Sep 08 Javascript
对于input 框限定输入值为浮点型的js代码
Sep 25 Javascript
vue获取data数据改变前后的值方法
Nov 07 Javascript
详解vue 中使用 AJAX获取数据的方法
Jan 18 #Javascript
easyui 中的datagrid跨页勾选问题的实现方法
Jan 18 #Javascript
JavaScript日期对象(Date)基本用法示例
Jan 18 #Javascript
jQuery中的一些小技巧
Jan 18 #Javascript
AngularJS Select(选择框)使用详解
Jan 18 #Javascript
基于JavaScript实现屏幕滚动效果
Jan 18 #Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
Jan 18 #Javascript
You might like
在PHP中使用Sockets 从Usenet中获取文件
2008/01/10 PHP
深入探讨<br />和 \r\n两者有什么区别??
2013/06/05 PHP
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
php常用Stream函数集介绍
2013/06/24 PHP
使用PHP破解防盗链图片的一个简单方法
2014/06/07 PHP
全面解读PHP的人气开发框架Laravel
2015/10/15 PHP
基于jquery的一个简单的脚本验证插件
2010/04/05 Javascript
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
jquery 取子节点及当前节点属性值的方法
2014/08/24 Javascript
node.js中watch机制详解
2014/11/17 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
2017/10/04 Javascript
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
JS中数组与对象的遍历方法实例小结
2018/08/14 Javascript
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
python3实现抓取网页资源的 N 种方法
2017/05/02 Python
通过cmd进入python的实例操作
2019/06/26 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
在Tensorflow中查看权重的实现
2020/01/24 Python
Python全面分析系统的时域特性和频率域特性
2020/02/26 Python
银行出纳岗位职责
2013/11/25 职场文书
军训自我鉴定100字
2014/02/13 职场文书
保险公司晨会主持词
2014/03/22 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
2014年五四青年节演讲稿范文
2014/04/22 职场文书
2015年元旦活动总结
2014/05/09 职场文书
学校安全防火方案
2014/06/07 职场文书
计算机科学技术自荐信
2014/06/12 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书
心得体会格式及范文
2016/01/25 职场文书
JavaScript原型链中函数和对象的理解
2022/06/16 Javascript