js仿淘宝商品放大预览功能


Posted in Javascript onMarch 15, 2017

将鼠标移动至图片区域可放大预览

效果图:

js仿淘宝商品放大预览功能

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    *{padding:0; margin:0;}
    #img1{width:300px; height:200px;}
    #sp1{width:60px; height:40px; position: absolute; left:0; top:0; background: rgba(62, 55, 58, 0.4)
    }
    #img2{width:2250px; height:1500px; position: absolute;}
    div{width:450px; height:300px; position: absolute; left:310px; top:0; overflow: hidden; border:2px solid black; display: none;}
  </style>
  <script>
    window.onload=function(){
      var img1 = document.getElementById('img1');
      var img2 = document.getElementById('img2');
      var sp = document.getElementById('sp1');
      var oBox = document.getElementById('box');
      sp.onmouseover=function(){
        oBox.style.display='block';
      };
      sp.onmouseout=function(){
        oBox.style.display='none';
      };
      document.onmousemove=function(ev){
        var x = (ev.clientX || event.clientX)-sp.offsetWidth/2;
        var y = (ev.clientY || event.clientY)-sp.offsetHeight/2;
        if((ev.clientX || event.clientX)<sp.offsetWidth/2){
          x = 0;
        }
        if((ev.clientX || event.clientX)>img1.offsetWidth-sp.offsetWidth/2){
          x = img1.offsetWidth-sp.offsetWidth;
        }
        if((ev.clientY || event.clientY)<sp.offsetHeight/2){
          y = 0;
        }if((ev.clientY || event.clientY)>img1.offsetHeight-sp.offsetHeight/2){
          y = img1.offsetHeight-sp.offsetHeight;
        }
        if((ev.clientX || event.clientX)<300 && (ev.clientY || event.clientY)<200) {
          sp.style.left = x + 'px';
          sp.style.top = y + 'px';
          img2.style.left = -x * (img2.offsetWidth / img1.offsetWidth) + 'px';
          img2.style.top = -y * (img2.offsetHeight / img1.offsetHeight) + 'px';
        }
      }
    }
  </script>
</head>
<body>
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1489083204637&di=244fe324db033fc826de48e90d2373f0&imgtype=0&src=http%3A%2F%2Fpic2015.5442.com%2F2016%2F0328%2F025%2F5.jpg%2521960.jpg
" alt="" id="img1">
<span id="sp1"></span>
<div id="box">
  <img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1489083204637&di=244fe324db033fc826de48e90d2373f0&imgtype=0&src=http%3A%2F%2Fpic2015.5442.com%2F2016%2F0328%2F025%2F5.jpg%2521960.jpg
" alt="" id="img2">
</div>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
asp 取文本框名称代码
Dec 02 Javascript
JavaScript数组对象实现增加一个返回随机元素的方法
Jul 27 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
Nov 25 Javascript
Bootstrap基本组件学习笔记之分页(12)
Dec 08 Javascript
了解VUE的render函数的使用
Jun 08 Javascript
Webpack执行命令参数详解
Jun 17 Javascript
vue+express 构建后台管理系统的示例代码
Jul 19 Javascript
IE9 elementUI文件上传的问题解决
Oct 17 Javascript
React手稿之 React-Saga的详解
Nov 12 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
Dec 11 Javascript
详解如何快速配置webpack多入口脚手架
Dec 28 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
Oct 27 Javascript
利用Plupload.js解决大文件上传问题, 带进度条和背景遮罩层
Mar 15 #Javascript
javascript九宫格图片随机打乱位置的实现方法
Mar 15 #Javascript
JavaScript实现审核流程状态的动态显示进度条
Mar 15 #Javascript
js实现自定义进度条效果
Mar 15 #Javascript
yii form 表单提交之前JS在提交按钮的验证方法
Mar 15 #Javascript
jQuery模拟窗口抖动效果
Mar 15 #Javascript
利用jQuery实现一个简单的表格上下翻页效果
Mar 14 #Javascript
You might like
PHP 透明水印生成代码
2012/08/27 PHP
php中创建和调用webservice接口示例
2014/07/25 PHP
php实现zip文件解压操作
2015/11/03 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
js 获取子节点函数 (兼容FF与IE)
2010/04/18 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2010/05/18 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
2017/06/12 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
[01:23]2019完美世界全国高校联赛(春季赛)合肥全国总决赛
2019/06/10 DOTA
Python threading多线程编程实例
2014/09/18 Python
在Django的上下文中设置变量的方法
2015/07/20 Python
TensorFlow神经网络优化策略学习
2018/03/09 Python
详解python 注释、变量、类型
2018/08/10 Python
Django中信号signals的简单使用方法
2019/07/04 Python
基于python操作ES实例详解
2019/11/16 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
财务副总经理工作职责
2013/11/25 职场文书
毕业设计计划书
2014/01/09 职场文书
四年级数学教学反思
2014/02/02 职场文书
节能环保标语
2014/06/12 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
幼师辞职信怎么写
2015/02/27 职场文书
房贷收入证明范本
2015/06/12 职场文书
纪委立案决定书
2015/06/24 职场文书
大学生学习十八届五中全会精神心得体会
2016/01/05 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
python函数指定默认值的实例讲解
2021/03/29 Python
解决Pytorch半精度浮点型网络训练的问题
2021/05/24 Python
教你用Java Swing实现自助取款机系统
2021/06/11 Java/Android