JS实现电商放大镜效果

发布时间 - 2026-01-11 02:56:09    点击率:

前端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>

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


# js  # 放大镜  # 原生js实现淘宝放大镜效果  # JavaScript实现京东购物放大镜和选项卡效果的方法分析  # 原生JavaScript实现的简单放大镜效果示例  # 纯js仿淘宝京东商品放大镜功能  # Javascript仿京东放大镜的效果  # 原生js仿淘宝网商品放大镜效果  # JavaScript 图片放大镜(可拖放、缩放效果)  # 电子商务网站上的常用的js放大镜效果  # JavaScript 图片切割效果(放大镜)  # 基于angularjs实现图片放大镜效果  # 原生JS实现的放大镜特效示例【测试可用】  # 鼠标  # 具体内容  # 大家多多  # 判断是否  # 移出  # solid  # border  # url  # background  # blue  # height  # left  # chuantu  # width  # px  # http  # jpg  # repeat  # cursor  # float 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JS中对数组元素进行增删改移的方法总结  Python制作简易注册登录系统  如何在宝塔面板中创建新站点?  如何在云主机上快速搭建网站?  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  微信小程序制作网站有哪些,微信小程序需要做网站吗?  香港服务器选型指南:免备案配置与高效建站方案解析  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  如何快速使用云服务器搭建个人网站?  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  如何在宝塔面板创建新站点?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  Laravel如何使用Collections进行数据处理?(实用方法示例)  Laravel如何配置任务调度?(Cron Job示例)  java ZXing生成二维码及条码实例分享  微信小程序 HTTPS报错整理常见问题及解决方案  Laravel怎么实现验证码(Captcha)功能  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  如何在宝塔面板中修改默认建站目录?  如何在企业微信快速生成手机电脑官网?  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  在Oracle关闭情况下如何修改spfile的参数  详解Android图表 MPAndroidChart折线图  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  JS实现鼠标移上去显示图片或微信二维码  EditPlus中的正则表达式 实战(1)  独立制作一个网站多少钱,建立网站需要花多少钱?  Python3.6正式版新特性预览  bootstrap日历插件datetimepicker使用方法  Android GridView 滑动条设置一直显示状态(推荐)  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  Laravel如何处理CORS跨域请求?(配置示例)  制作公司内部网站有哪些,内网如何建网站?  Laravel中的withCount方法怎么高效统计关联模型数量  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  phpredis提高消息队列的实时性方法(推荐)  ,怎么在广州志愿者网站注册?  Laravel如何使用Eloquent进行子查询  用yum安装MySQLdb模块的步骤方法  香港服务器部署网站为何提示未备案?  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  如何基于云服务器快速搭建网站及云盘系统?  EditPlus 正则表达式 实战(3)  如何快速查询域名建站关键信息?  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】