原生JS 实现类似淘宝京东商城图片展示 图片放大镜 效果

这篇博客介绍了如何使用原生JavaScript实现类似淘宝京东商城的图片展示效果,即图片放大镜功能。首先通过AJAX请求获取data.json数据,将数据动态添加到页面中。图片分为超小图、中等图和放大镜效果图。利用JSON.parse转换数据格式,遍历并添加img标签,设置点击事件。放大镜盒子的位置和大小根据鼠标在左侧图片上的位置动态调整,实现了放大效果。
摘要由CSDN通过智能技术生成

本次 JS实现 首先使用 原AJAX 请求数据 将请求的数据 加入到 数据样式中 实现动态 展示
data.json 数据格式为

[
    {
   
        "id": 1,
        "imgs": [
            "0.jpg",
            "1.jpg",
            "2.jpg"
        ]
    },
    {
   
        "id": 2,
        "imgs": [
            "3.jpg",
            "4.jpg",
            "5.jpg"
        ]
    },
    {
   
        "id": 3,
        "imgs": [
            "6.jpg",
            "7.jpg",
            "8.jpg"
        ]
    }
]

上方是JSON 格式的数据 图片 0 3 6 为超小图 1 4 7 为中等图 2 5 8 为放大镜效果的图
首先 书写AJAX 请求代码

  let Ajax = new XMLHttpRequest()
            //创建 XML文本网络协议实例
            Ajax.open('GET','./data.json',true)
            //声明Ajax请求的方式 url路径 是否异步(true为异步)
            Ajax.send()
            //发送请求
            Ajax.onreadystatechange = function (){
   
            //对ajax准备状态改变的监听函数
                if(Ajax.readyState === 4 &&  Ajax.status === 200)</
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的原生JS实现淘宝图片切换的示例代码: HTML代码: ``` <div class="slider"> <ul> <li><img src="img/1.jpg"></li> <li><img src="img/2.jpg"></li> <li><img src="img/3.jpg"></li> </ul> <div class="prev"></div> <div class="next"></div> </div> ``` CSS代码: ``` .slider { position: relative; } .slider ul { list-style: none; margin: 0; padding: 0; position: relative; } .slider li { float: left; } .slider img { display: block; width: 100%; height: auto; } .slider .prev, .slider .next { position: absolute; top: 50%; margin-top: -15px; width: 30px; height: 30px; background-color: #000; opacity: 0.5; cursor: pointer; } .slider .prev { left: 0; } .slider .next { right: 0; } .slider .prev:hover, .slider .next:hover { opacity: 1; } ``` JS代码: ``` var slider = document.querySelector('.slider'); var sliderUl = slider.querySelector('ul'); var sliderLi = slider.querySelectorAll('li'); var sliderPrev = slider.querySelector('.prev'); var sliderNext = slider.querySelector('.next'); var currentIndex = 0; var imageCount = sliderLi.length; var sliderWidth = slider.clientWidth; sliderUl.style.width = (sliderWidth * imageCount) + 'px'; function slideTo(index) { if (index < 0) { index = imageCount - 1; } else if (index >= imageCount) { index = 0; } sliderUl.style.transform = 'translateX(-' + (sliderWidth * index) + 'px)'; currentIndex = index; } sliderPrev.addEventListener('click', function() { slideTo(currentIndex - 1); }); sliderNext.addEventListener('click', function() { slideTo(currentIndex + 1); }); slideTo(0); ``` 这段代码实现了一个简单的图片轮播效果,当点击“上一张”或“下一张”按钮时,会切换到相应的图片。可以根据自己的需要进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值