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 相关文章推荐
javascript的数据类型、字面量、变量介绍
May 23 Javascript
js获取GridView中行数据的两种方法 分享
Jul 13 Javascript
JS常用正则表达式总结
Nov 12 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
Aug 27 Javascript
jquery实现超简洁的TAB选项卡效果代码
Aug 28 Javascript
js 获取范围内的随机数实例代码
Aug 02 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
Aug 11 Javascript
jQuery组件easyui对话框实现代码
Aug 25 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
Sep 14 Javascript
微信小程序 天气预报开发实例代码源码
Jan 20 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
Jun 11 Javascript
javascript实现贪吃蛇小游戏
Jul 28 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新手上路(六)
2006/10/09 PHP
destoon之一键登录设置
2014/06/21 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
2019/04/27 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
JQuery获取浏览器窗口内容部分高度的代码
2012/02/24 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
javascript生成随机数的方法
2014/05/16 Javascript
Javascript获取当前日期的农历日期代码
2014/10/08 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
nodeJs内存泄漏问题详解
2016/09/05 NodeJs
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
nodejs socket实现的服务端和客户端功能示例
2017/06/02 NodeJs
bootstrap fileinput插件实现预览上传照片功能
2018/01/23 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
微信小程序实现form表单本地储存数据
2019/06/27 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
2020/05/06 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
python魔法方法-属性访问控制详解
2016/07/25 Python
python 2.6.6升级到python 2.7.x版本的方法
2016/10/09 Python
Python Socket编程之多线程聊天室
2018/07/28 Python
解决python 上传图片限制格式问题
2019/10/30 Python
Python 去除字符串中指定字符串
2020/03/05 Python
pandas DataFrame运算的实现
2020/06/14 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
2013/02/07 HTML / CSS
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物