JS实现电商放大镜效果


Posted in Javascript onAugust 24, 2017

前端JS电商放大镜效果,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>26-电商放大镜</title>
  <style type="text/css">
    
  *{
    padding: 0;
    margin: 0;
  }
  #left{
   padding: 0;
  margin: 0;
    width: 400px;
    height: 400px;
    border: 2px solid blue;
    background: url(http://chuantu.biz/t6/17/1503469475x2063891122.jpg) no-repeat;
    float: left;
    cursor: crosshair;
    position: relative;
  box-sizing: border-box;
  }
  #box{
    width: 200px;
    height: 200px;
    background: white;
    opacity: 0.6;
    position: absolute;
    top: 0;
    left: 0;
    display: none;
  box-sizing: border-box;
  }
  #cover{
    width: 400px;
    height: 400px;
    background: red;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
  box-sizing: border-box;
  }
  #right{
    width: 400px;
    height: 400px;
    border: 2px solid black;
    overflow: hidden;
    position: relative;
    display: none;
  box-sizing: border-box;
  }
  #rpic{
    position: absolute;
  }
  </style>

  <script type="text/javascript">
    
  window.onload = function(){
    var left = document.getElementById("left");
    var right = document.getElementById("right");
    var rpic = document.getElementById("rpic");
    var box = document.getElementById("box");
    var cover = document.getElementById("cover");

    // 给左侧加鼠标移动事件
    cover.onmousemove = function(){

      //获得事件对象
      var ev = window.event;
      var mouse_left = ev.offsetX || ev.layerX;
      var mouse_top = ev.offsetY || ev.layerY;
      // document.title = mouse_left + '|' + mouse_top;

      //计算色块的位置
      var box_left = mouse_left - 100;
      var box_top = mouse_top - 100;

      // 判断是否超出
      if (box_left < 0) {
        box_left = 0;
      }
      if (box_left > 200) {
        box_left = 200;
      }
      if (box_top < 0) {
        box_top = 0;
      }
      if (box_top > 200) {
        box_top = 200;
      }

      // 让色块移动
      box.style.left = box_left + 'px';
      box.style.top = box_top + 'px';

      //计算右侧图片位置
      var rpic_left = box_left*-2;
      var rpic_top = box_top*-2;

      // 让右侧移动
      rpic.style.left = rpic_left + 'px';
      rpic.style.top = rpic_top + 'px';

    }

      //给左侧加鼠标移入事件
      cover.onmouseover = function(){
        // 让左侧色块和右侧隐藏
        box.style.display = 'block';
        right.style.display = 'block';
      }

      // 给左侧加鼠标移出事件
      cover.onmouseout = function(){
        // 让左侧色块和右侧隐藏
        box.style.display = 'none';
        right.style.display = 'none';
      }
  }

  </script>
</head>
<body>
  <div id="left">
    <div id="box"></div>
    <div id="cover"></div>
  </div>
  <div id="right">
    <img src="http://chuantu.biz/t6/17/1503469419x2063891122.jpg" id="rpic">
  </div>
</body>
</html>

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

Javascript 相关文章推荐
修改jQuery Validation里默认的验证方法
Feb 14 Javascript
javascript里模拟sleep(两种实现方式)
Jan 25 Javascript
input禁止键盘及中文输入,但可以点击
Feb 13 Javascript
js操作iframe父子窗体示例
May 22 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
Dec 01 Javascript
基于jQuery实现选取月份插件附源码下载
Dec 28 Javascript
轻松实现js图片预览功能
Jan 18 Javascript
html5+javascript实现简单上传的注意细节
Apr 18 Javascript
jquery中live()方法和bind()方法区别分析
Jun 23 Javascript
js仿淘宝评价评分功能
Feb 28 Javascript
手动下载Chrome并解决puppeteer无法使用问题
Nov 12 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
Jan 19 Javascript
weui框架实现上传、预览和删除图片功能代码
Aug 24 #Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
Aug 24 #jQuery
详解webpack2+node+react+babel实现热加载(hmr)
Aug 24 #Javascript
Vue网页html转换PDF(最低兼容ie10)的思路详解
Aug 24 #Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
Aug 23 #Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
Aug 23 #Javascript
angular2路由切换改变页面title的示例代码
Aug 23 #Javascript
You might like
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
2009/03/03 PHP
php下图片文字混合水印与缩略图实现代码
2009/12/11 PHP
PHP中如何定义和使用常量
2013/02/28 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
SWFObject Flash js调用类
2008/07/08 Javascript
javascript 在网页中的运用(asp.net)
2009/11/23 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
javascript中方便增删改cookie的一个类
2012/10/11 Javascript
js实现飞入星星特效代码
2014/10/17 Javascript
js获取字符串最后一位方法汇总
2014/11/13 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
JS原生带小白点轮播图实例讲解
2017/07/22 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
2017/08/14 jQuery
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
Vue+Webpack完美整合富文本编辑器TinyMce的方法
2018/11/30 Javascript
vue实现div拖拽互换位置
2020/07/29 Javascript
微信 jssdk 签名错误invalid signature的解决方法
2019/01/14 Javascript
vue动态设置路由权限的主要思路
2021/01/13 Vue.js
详解Python的单元测试
2015/04/28 Python
python django 增删改查操作 数据库Mysql
2017/07/27 Python
Python调用服务接口的实例
2019/01/03 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
Python中的self用法详解
2019/08/06 Python
python的命名规则知识点总结
2019/10/04 Python
pycharm设置当前工作目录的操作(working directory)
2020/02/14 Python
如何解决python多种版本冲突问题
2020/10/13 Python
欧迪办公美国官网:Office Depot
2016/08/22 全球购物
协议书的格式
2014/04/23 职场文书
医院志愿者活动总结
2015/05/06 职场文书
高一作文之暖冬
2019/11/09 职场文书
手把手教你用SpringBoot将文件打包成zip存放或导出
2021/06/11 Java/Android