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 相关文章推荐
[原创]来自ImageSee官方 JavaScript图片浏览器
Jan 16 Javascript
深入理解JavaScript中的传值与传引用
Dec 09 Javascript
JavaScript比较两个对象是否相等的方法
Feb 06 Javascript
Javascript之Date对象详解
Jun 07 Javascript
js简单获取表单中单选按钮值的方法
Aug 23 Javascript
轻松实现js选项卡切换效果
Sep 24 Javascript
JS绘制微信小程序画布时钟
Dec 24 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
Apr 19 Javascript
vue之数据交互实例代码
Jun 16 Javascript
VsCode新建VueJs项目的详细步骤
Sep 23 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
Jul 16 Javascript
解决Vue router-link绑定事件不生效的问题
Jul 22 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
php实现分页工具类分享
2014/01/09 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
php有效防止图片盗用、盗链的两种方法
2016/11/01 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
2007/03/10 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
jQuery实现伪分页的方法分享
2016/02/17 Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
2016/10/26 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
Django中对数据查询结果进行排序的方法
2015/07/17 Python
python实现逻辑回归的方法示例
2017/05/02 Python
Django验证码的生成与使用示例
2017/05/20 Python
对python中的try、except、finally 执行顺序详解
2019/02/18 Python
Python用字典构建多级菜单功能
2019/07/11 Python
Python中print函数简单使用总结
2019/08/05 Python
python openCV获取人脸部分并存储功能
2019/08/28 Python
Python跑循环时内存泄露的解决方法
2020/01/13 Python
10个示例带你掌握python中的元组
2020/11/23 Python
Python新建项目自动添加介绍和utf-8编码的方法
2020/12/26 Python
HTML5等待加载动画效果
2017/07/27 HTML / CSS
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
党员一帮一活动总结
2014/07/08 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
2014小学教师年度考核工作总结
2014/12/03 职场文书
美术教师个人总结
2015/02/06 职场文书
2015年质量月活动总结报告
2015/03/27 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
幼儿园小朋友毕业感言
2015/07/30 职场文书
公司保洁员管理制度
2015/08/04 职场文书
被委托人身份证明
2015/08/07 职场文书