使用js+css样式实现淘宝详情页图片放大镜的效果

用原生js实现淘宝详情页图片放大镜效果 这个功能是我在模仿淘宝详情页的时候做出来的,最初版本对于非1:1比例的图片没有做处理,后续对程序进行了完善和逻辑上修改,形成了当前的程序。废话不多说,直接进入正题了,先上个效果图先放上这段功能的html代码<div id="full-pic">     <img src="img/full-pic-1.jpg" alt="">     <span id="pic-sp. 阅读详情

前台:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="/js/jquery-2.1.1.min.js"></script>
</head>
<style>
    .min{
        width: 350px;
        height: 350px;
        border: 1px solid black;
        float: left;
        position: relative;
        margin: 50px 0 0 30px;

    }
    .max{
        width: 350px;
        height: 350px;
        border: 1px solid black;
        float: left;
        display: none;
        overflow: hidden;
        position: relative;
        margin-left:30px ;
    }
    .max img{
        position: absolute;
        margin: 0 auto;
    }
    .fd{
        width: 153.125px;
        height: 153.125px;
        background-color: skyblue;
        opacity: 0.3;
        position: absolute;
        top: 0;
        left: 0;
        display: none;
        cursor: move;
    }
</style>
<body>
<body>
<div class="min">
    <img src="D:\62526\Pictures\花火.jpg" width="350px" height="350px"/>
    <div class="fd"></div>
</div>
<div class="max">
    <img src="D:\62526\Pictures\花火.jpg"/>
</div>


<script>
    var min = document.querySelector(".min");
    var max = document.querySelector(".max");
    var img = document.querySelector(".max img");
    var fd = document.querySelector(".fd");

    min.onmouseover = function(){
//                1.鼠标覆盖显示max和fd
        max.style.display = "block";
        fd.style.display = "block";
    }
    //            离开时隐藏
    min.onmouseout = function(){
        max.style.display = "none";
        fd.style.display = "none";
    }
    //            2. fd的移动范围
    min.onmousemove = function(){
//                鼠标触摸的点
        var x = event.clientX-min.offsetLeft-fd.offsetWidth/2;
        var y = event.clientY-min.offsetTop-fd.offsetHeight/2;
//                最大移动距离
        var maxX = min.clientWidth-fd.offsetWidth;
        var maxY = min.clientHeight-fd.offsetHeight;
//                边界判断
        if (x <= 0) {
            x = 0;
        }else if (x >= maxX) {
            x = maxX;
        }
        if (y <= 0) {
            y = 0;
        }else if (y >= maxY) {
            y = maxY;
        }
//                fd的位置
        fd.style.left = x+'px';
        fd.style.top = y+'px';
        //fd/min = max/img
        //移动比例
        var moveX = x/maxX;
        var moveY = y/maxY;
//                移动
//                3. max的对应显示
//                对于大图而言,放大镜在小图上移动的比例相当于img在可显示区域上移动的比例
//                放大镜右移等于图片左移
//                也就是本质上为img-max 然而而需要负值,则*-1简化后为max-img
        img.style.left = moveX*(max.clientWidth - img.offsetWidth) + 'px';
        img.style.top = moveY*(max.clientHeight - img.offsetHeight) + 'px';

    }

</script>
</body>
</html>

最终效果:

用JS实现PC端淘宝查看商品图片放大镜效果 实现放大镜功能一、前言二、图示淘宝商品放大镜效果三、需要掌握的知识点四、放大镜实现原理五、放大镜代码及注释六、放大镜最终成果七、放大镜源码八、总结 一、前言         今天翻阅文件夹看到了之前写过的一个 js 放大镜特效.之所以想要发布在博客上,是因为觉得这个特效里面包含有一定量程度的 js 常用知识点和逻辑性,觉得发出来挺好的,我自己也能在复习掌握一下.我们废话不多说,开整! 二、图示淘宝商品放大镜效果  &n 阅读详情

相关推荐

用JavaScript实现淘宝放大镜的效果,附源码,音视频开发进阶指南

javaScript面向对象——淘宝放大镜实现图片的引用是一个大图,一个小图。传输用的ajax,记得改成自己的ip地址,js和html都改一下。js文件:LoadMethod.jsimg.num=0;this.num++;return;

m0_60635321的博客 1103

原生JS做淘宝商品放大镜

原生JS做淘宝商品放大镜 效果图预览 HTML部分 结构分析 首先要清楚整个界面的分布情况,这里用id或是class,我一开始用的都是id,但后面做js的时候有一些需要document. querySelectorAll("className")返回一个关于class="className"数组,,我才改过来的 div id="itemarea":整个区域最大的div,包含着其他的div元素 div id="pic":存放被选中的大图片的区域 div id="cover":跟随鼠标浮动的用于选择将要被

weixin_45702261的博客 650

仿淘宝的放大镜效果

主要介绍一下淘宝的放大镜效果是如何实现的,相信很多同学们对这个并不陌生。这个看似感觉很复杂的小功能,实际上原理却是非常的简单

findhappy117的博客 1944

Html+css+js实现放大镜功能(详细完整代码)

通过将鼠标指向指定的图片,将鼠标移动到图片时,显示一个透明的小区域,然后将小区域的部分放大,查看细节。

qq_46362763的博客 2712

实现类似淘宝的JQuery商品细节放大镜效果

在现代网页设计中,商品细节放大镜效果是一种常见的增强用户体验的交互方式。它通过在用户将鼠标悬停或点击在商品图片上时显示一个放大后的细节视图,帮助用户更清晰地查看商品的材质、纹理等细节信息。这种效果不仅可以提升用户在浏览商品时的直观感受,而且能够增强用户对商品质量的信任感,从而可能提高产品的转化率。放大镜效果在技术实现上通常需要通过HTML、CSS和JavaScript的协同工作来完成。核心思路是利用绝对定位和CSS的transform属性来移动一个放大的图片视图,以此来实现放大的效果。

weixin_32445049的博客 1056

实现淘宝风格的前端图片放大镜插件

htmltable {th, td {th {pre {简介:“淘宝式图片放大镜”插件通过使用jQuery库在电商网站中提供局部放大图片功能,允许用户在不离开页面的情况下清晰查看产品细节。该插件还包括缩略图的左右滑动功能,使用CSS设置样式和JavaScript处理鼠标事件来实现。开发者需要注意性能优化、用户体验、兼容性和配置灵活性,以提供流畅且高效的用户体验。

weixin_42561464的博客 728

CSS3+JS完美实现放大镜模式

大概一年多之前写过一篇文章:仿放大镜效果的几种方式原理解析,别看标题这么牛气哄哄,其实也就算是介绍了css里的transform和animation两种动画方式 —— 当然,实现的效果也很简单。 虽然后来随着技术的增长又逐渐实现了canvas方式的放大镜以及用纯JS实现了另一种“淘宝式”的模型,其效果如下: //xz:这里是一张图片 但是仍然不尽人意:因为实现起来太复杂了,而且需依赖大部分JS逻辑,移动和显示的效果均依赖JS,通过JS计算偏移量再渲染样式。 但是CSS3自定义变量的出现让我看到了“希望之光”

flying meng的菜鸟居 1万+

【C语言基础】野指针与空指针

全网最接地气的C语言野指针介绍,此处对于野指针与空指针知识点做一些简要的介绍,作者实属初学,写博客也是作者学习的一个过程,难免文章中有内容理解不到位或者有不当之处,还请朋友们不吝指正,希望大家多多给予支持,赠人玫瑰,手有余香! 文章目录一:野指针1.1 :野指针的成因2.1 :规避野指针二:空指针 一:野指针 概念:野指针就是指向的内存地址是未知的(随机的,不正确的,没有明确限制的)。 说明:指针变量也是变量,是变量就可以任意赋值。但是,任意数值赋值给指针变量没有意义,因为这样的指针就成了野指针,此指针指向

qq_43727529的博客 2万+

vue项目——商品详情页面图片放大镜效果实现(完成)

昨天在做商品详情页面时,遇到一个需求,就是图片放大镜效果。在图片上鼠标划过时,右侧出现一个大图,用于展示鼠标移过的区域,也就是图片放大镜效果。 效果图基本类似如下: 我之前有篇文章js实现图片放大镜效果:https://blog.youkuaiyun.com/yehaocheng520/article/details/115278622?spm=1001.2014.3001.5501 当时是用js实现的效果,因此现在要把代码嫁接到vue创建的项目中。 html部分代码: <div class="big-img

yehaocheng520的博客 7065

Ubuntu升级遇到grub-efi-amd64-signed报错?3步搞定这个烦人的EFI目录问题

本文详细解析了Ubuntu系统升级时遇到的“grub-efi-amd64-signed”报错及“cannot find EFI directory”问题。通过剖析UEFI启动机制与EFI系统分区原理,提供了从诊断到修复的三步解决方案,帮助用户快速解决因EFI目录未挂载导致的升级中断,确保系统引导正常。

assembly8low的博客 584

3GPP协议解读_物理层系列(一)_物理层协议怎么看?

5G NR相关协议一般都在38系列,点进去以后可以看到,38.2xx系列为物理层相关协议,为了掌握物理层相关知识,应该怎么看协议呢?我建议从38.201读起,对38.2xx系列协议有一个整体的把握。

JCMLSY的博客 1327

JavaScript实现淘宝图片放大镜效果

效果图如下: 下面是html、css、js整合在一起的代码: <!doctype html> <html> <head> <meta charset="utf-8"> <title>Document</title> </head> <style> .middle{ width: 400px; ...

m0_46562003的博客 1128

速腾Helios-16P使用Lego-loam实时构建点云地图(二)——Lego-loam的编译与运行

不兼容的问题,打开lego-loam的~/lego-loam_ws/src/LeGO-LOAM/LeGO-LOAM/src下的4个源码文件,搜索/camera_init,将所有/camera_init改成camera_init,也就是去掉斜杠,这样再回到工作空间重新编译lego-loam。3、速腾16线激光雷达RS-16 ----- 3D建图算法LeGO-LOAM的使用(Ubuntu18.04 + ROS Melodic)_速腾16线 lego loam_杰尼君的博客-优快云博客。

qq_59475883的博客 2567

js实现淘宝放大镜效果

记得很久以前,小编就准备写个放大镜,但是种种原因导致,一直没有完成这个愿望,下面,让我们一起来实现这个常见的功能吧。 不懂的同学,可能认为这很难细实现,觉得它很博大精深的样子,其实真了解他了,你会发现原来这么简单,下面废话不多说,让我们一起来实现它吧。 首先当然是html布局和css样式: ![效果图](http://img.blog.youkuaiyun.com/20160825213

YZi_Angel的专栏 1万+

STM32 FMC驱动AD7606实战:从硬件连接到时序调试全流程解析

本文详细解析了STM32 FMC驱动AD7606的全流程,包括硬件连接、FMC接口配置、驱动程序设计和时序调试。通过实战案例,展示了如何利用STM32的FMC总线实现与AD7606的高效数据传输,特别强调了电源设计、信号连接和PCB布局等关键要点,为嵌入式数据采集系统开发提供了实用指导。

aa123的博客 1004

【LAMMPS学习】五、LAMMPS命令(1) LAMMPS 输入脚本

本部分描述了 LAMMPS 输入脚本的格式以及其中的命令如何用于定义 LAMMPS 模拟。主要包括以下内容。

荷塘阅色 2644

JS面向对象——淘宝放大镜实现

描述: JS面向对象——淘宝放大镜实现 图片的引用是一个大图,一个小图 传输用的ajax,记得改成自己的ip地址,js和html都改一下 效果: 实现: js文件: LoadMethod.js class LoadMethod{ static get LOAD_IMG_FINISH(){ return "load_img_finish"; } ...

进击的葱 2082

5、AIX系统硬件管理与故障诊断全解析

本文全面解析了AIX系统的硬件管理与故障诊断方法,涵盖系统管理服务(SMS)的使用、设备兼容性配置、设备配置数据库结构、常用命令如cfgmgr、lsattr、smitty devices的操作详解,并深入介绍了错误日志管理机制,包括errdemon、errpt、errlogger等命令的应用。通过实际案例分析和流程图展示,帮助系统管理员掌握从问题怀疑到诊断执行再到日志清理的完整流程,同时提供注意事项与最佳实践,助力AIX系统的稳定运行与高效维护。

y2z3a4b5c的博客 61

Javascript实现放大镜效果(手把手教会+详细注释+完整代码)

JavaScript实现的放大镜效果

Tang_jibin的博客 5541

基于STM32L4XX、HAL库的AD7768BSTZ 模数转换器ADC驱动程序设计

/ 默认SPI配置。// 读取通道数据命令。// 通过SYNC_IN引脚触发转换(如果使用)// 处理数据...// 或者通过SPI命令。// 初始化AD7768。// SPI1引脚配置。

zhusl6688的博客 460

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

HTML5+CSS3+JavaScript 实现淘宝放大镜

HTML5+CSS3+JavaScript 实现淘宝放大镜 1.在一个里面写的,好复制。。。。。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>淘宝放大镜</title> <style> *{/*建议每次写css,最开始就把内边距 外边距消掉*/ margin: 0;

qq_47735503的博客 410

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

javascript实现商品图片放大效果,类似于淘宝、京东详情页的那种...

效果图 文件夹结构 HTML/CSS/JS 代码分别保存在 index.html / main.css / main.js 文件中,而main.css / main.js 文件分别保存在 css 和 js 文件夹下;素材图片名为 pic01.jpg 保存在 images 文件夹下。具体情况如下图如示 素材 源代码 HTML代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"

qq_38902844的博客 1093

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

实现淘宝放大镜效果

实现淘宝放大镜效果 首先应该清楚要实现的效果 然后确定图片、遮盖层的长宽,以及放大效果的长宽,然后实现遮盖层的移动,放大图片的同步,我们可以通过在图片中的半径来计算,下面贴下代码 <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="wi...

qq_38427709的博客 477

Vue 实现图片放大镜

最近有项目需要用到对图片进行局部放大,类似淘宝商品页的放大镜效果,经过一番研究功能可用: HTML部分 <template> <div> <div class="choose" ref="choose"> <div class="content" ref="content" @mousemove="handleMove"> <img src="/static/bg.jp

sinat_34849421的博客 3358

**JS实现淘宝产品放大镜效果**

JS实现淘宝产品放大镜效果 鼠标往左移,大图片相当于大图片盒子往右移 Document &amp;lt;script&amp;gt; window.onload = function(){ //总盒子 var objDemo = document.getElementById(&quot;demo&quot;); //小图盒子 var obj...

weixin_43264322的博客 855

javascript--淘宝页面的放大镜效果

放大镜效果需求: 鼠标放入原图中,会出现一个黄色的遮盖层和一个放大的图片,鼠标移动时候,遮盖层会跟着鼠标一起移动,同时放大的图片会跟着一起移动。 实现过程: 1.鼠标移入,遮盖层和大图片显示 2.鼠标离开,遮盖层和大图片隐藏 3.鼠标移动的时候,遮盖层和鼠标对应移动 4.遮盖层移动时候,大图片跟着移动 效果图: ...

488
上一篇: SpringCloud框架+路由网关(zuul)技术整合
下一篇: SpringCloud框架+路由网关(zuul)技术并实现过滤功能
听风动
博客等级 码龄8年 63粉丝 90原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听风动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值