我的编程空间,编程开发者的网络收藏夹
学习永远不晚

js实现购物网站放大镜功能

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

js实现购物网站放大镜功能

本文实例为大家分享了js实现购物网站放大镜功能的具体代码,供大家参考,具体内容如下

首先看效果图:

先是布局,左边一个小图框,包含一个鼠标移动框,右边一个放大框。


<div class="box">
        <div class="small">
            <img class="lazy" data-src="small3.jpg" alt="">
            <div class="move"></div>
        </div>
        <div class="big">
            <img class="lazy" data-src="big3.jpg" alt="">
        </div>
</div>

写一下css


.small{
    position: relative;
    float: left;
    width: 450px;
    height: 450px;
    border:1px solid #000;
}
.small .move{
    position: absolute;
    top:0;
    width: 300px;
    height: 300px;
    background-color: rgba(0,0,0,0.4);
    cursor:move;
    display: none;
}
.big{
    position: relative;
    float: left;
    width: 540px;
    height: 540px;
    margin-left: 20px;
    overflow: hidden;
    border:1px solid #000;
    display: none;
}
.big img{
    position: absolute;
    top:0;
    left: 0;
}

js部分:


var box=document.getElementsByClassName('box')[0],small=box.getElementsByClassName('small')[0],move=small.getElementsByClassName('move')[0],smallImg=small.getElementsByTagName('img')[0],big=box.getElementsByClassName('big')[0],bigImg=big.getElementsByTagName('img')[0];
    //首先把需要的元素都获取出来
    small.onmouseover=function(){
        move.style.display='block';
        big.style.display="block";
    };
    small.onmouseout=function(){
        move.style.display='none';
        big.style.display="none";
    };
    small.onmousemove=function(e){
        e=e||window.event;//兼容性考虑
        var x=e.clientX-smallImg.getBoundingClientRect().left-move.offsetWidth/2;
        var y=e.clientY-smallImg.getBoundingClientRect().top-move.offsetHeight/2;
        if(x<0){
            x=0;
        }
        if(x>smallImg.offsetWidth-move.offsetWidth){
            x=smallImg.offsetWidth-move.offsetWidth;
        }
        if(y<0){
            y=0;
        }
        if(y>smallImg.offsetHeight-move.offsetHeight){
            y=smallImg.offsetHeight-move.offsetHeight;
        }
        move.style.left=x+"px";
        move.style.top=y+"px";
        //实现左边move块跟随鼠标移动的代码
        var scale=bigImg.offsetWidth/smallImg.offsetWidth;
        //按照比例放大
        bigImg.style.left='-'+x*scale+'px';
        //因为图片是需要左移和上移的所以要加负号
        bigImg.style.top='-'+y*scale+'px';
    }

放大镜效果就实现啦!

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

js实现购物网站放大镜功能

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

html5如何实现放大镜功能

今天小编给大家分享一下html5如何实现放大镜功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。html5实现放大镜功能的方
2023-07-05

原生js怎么实现购物车功能

本篇内容介绍了“原生js怎么实现购物车功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!* 实现购物车商品数量的加减,注意数量最少为1,数量
2023-06-30

利用Android实现一个放大镜功能

今天就跟大家聊聊有关利用Android实现一个放大镜功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。源码分析public class ShaderView extends View
2023-05-31

使用canvas怎么实现一个放大镜功能

使用canvas怎么实现一个放大镜功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 1. 什么是离屏技术?canvas 学习和滤镜实现 介绍过 drawImage 接口。除了
2023-06-09

Vue实现电商网站商品放大镜效果示例

这篇文章主要为大家介绍了Vue实现电商网站商品放大镜效果示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

JavaScript怎么实现淘宝网图片的局部放大功能

这篇“JavaScript怎么实现淘宝网图片的局部放大功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JavaScript
2023-06-30

ASP MVC实现分页功能的详细教程,让你的网站轻松应对大量数据

本文将详细介绍ASP MVC中实现分页功能的步骤,包括创建分页模型、在控制器中配置分页参数、在视图中呈现分页结果等,帮助您轻松应对网站中大量数据的展示和管理。
ASP MVC实现分页功能的详细教程,让你的网站轻松应对大量数据
2024-02-24

编程热搜

目录