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 相关文章推荐
文件编码导致jquery失效的解决方法
Jun 26 Javascript
自定义的一个简单时尚js下拉选择框
Nov 20 Javascript
Firefox下无法正常显示年份的解决方法
Sep 04 Javascript
jQuery实现数字加减效果汇总
Dec 16 Javascript
JS动态改变表格边框宽度的方法
Mar 31 Javascript
javascript瀑布流式图片懒加载实例解析与优化
Feb 23 Javascript
精通JavaScript的this关键字
May 28 Javascript
Web前端开发工具——bower依赖包管理工具
Mar 29 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
May 03 Javascript
Bootstrap导航简单实现代码
Mar 06 Javascript
用vue封装插件并发布到npm的方法步骤
Oct 18 Javascript
Vue指令之 v-cloak、v-text、v-html实例详解
Aug 08 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在各种web服务器的运行模式详解
2013/06/03 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
PHP连接MySQL数据库操作代码实例解析
2020/07/11 PHP
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
JS实现的网页倒计时数字时钟效果
2015/03/02 Javascript
bootstrap3 兼容IE8浏览器!
2016/05/02 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
2016/06/12 Javascript
Centos7 中 Node.js安装简单方法
2016/11/02 Javascript
JavaScript中localStorage对象存储方式实例分析
2017/01/12 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
js实现简易点击切换显示或隐藏
2020/11/29 Javascript
Python使用MySQLdb for Python操作数据库教程
2014/10/11 Python
简单介绍Python中的几种数据类型
2016/01/02 Python
Python中你应该知道的一些内置函数
2017/03/31 Python
python使用筛选法计算小于给定数字的所有素数
2018/03/19 Python
TensorFlow Session会话控制&amp;Variable变量详解
2018/07/30 Python
Pycharm打开已有项目配置python环境的方法
2020/07/03 Python
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
德国W家官网,可直邮中国的母婴商城:Windeln.de
2021/03/03 全球购物
高三毕业典礼主持词
2014/03/27 职场文书
大学生简历求职信
2014/06/24 职场文书
2014年党员学习“三严三实”思想汇报
2014/09/15 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
2014年小学少先队工作总结
2014/12/18 职场文书
遗嘱继承权公证书
2015/01/26 职场文书
违纪学生保证书
2015/02/27 职场文书
幼儿园综治宣传月活动总结
2015/05/07 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书
《红领巾真好》教学反思
2016/02/16 职场文书
调解协议书范本
2016/03/21 职场文书
shell进度条追踪指令执行时间的场景分析
2022/06/16 Servers