ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

淘宝放大镜

2021-04-12 11:02:53  阅读:161  来源: 互联网

标签:box 放大镜 slider background 淘宝 var document event


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>淘宝放大镜</title>
</head>
<style>
    *{
        padding: 0;
        margin: 0;
    }
    .box {
        position: relative;
        width: 400px;
        height: 400px;
        background: url("https://gd1.alicdn.com/imgextra/i4/3254871797/O1CN01fl5Mnn1P94OsnySJB_!!3254871797.jpg");
        background-size: 100%;
    }
    .slider {
        position: absolute;
        width: 100px;
        height: 100px;
        background: black;
        opacity: .3;
    }
    .small {
        position: absolute;
        top: 100px;
        right: -300px;
        width: 100px;
        height: 100px;
        background: url("https://gd1.alicdn.com/imgextra/i4/3254871797/O1CN01fl5Mnn1P94OsnySJB_!!3254871797.jpg") no-repeat;
        background-size: 400px 400px;
        background-position: 0px 0px;
        transform: scale(1.5);
    }
</style>
<body>
    <div class="box">
        <div class="slider"></div>
        <div class="small"></div>
    </div> 
</body>

<script>
    var slider = document.querySelector(".slider");
    var box = document.querySelector(".box");
    var small = document.querySelector(".small");
    //鼠标按下
    slider.onmousedown = function(event){
        var e = event || window.event;
        var startX = e.offsetX;
        var startY = e.offsetY;

        //鼠标移动
        document.onmousemove = function(event) {
            var e1 = event ||window.event;
            var l = e1.clientX - startX;
            var t = e1.clientY - startY;
            if(l> (box.clientWidth - slider.clientWidth)) {
                l = box.clientWidth - slider.clientWidth;
            }else if(l < 0) l = 0;
            if(t> (box.clientHeight - slider.clientHeight)) {
                t = box.clientHeight - slider.clientHeight;
            }else if(t < 0) t = 0;
            slider.style.left = l + 'px';
            slider.style.top = t + 'px';

        //修改小图片的背景图定位  
        small.style.backgroundPosition ="-" + l + "px -" + t + "px";
        }
    }
    //鼠标松开
    document.onmouseup = function(){
        document.onmousemove = null;
    }
    

</script>
</html>

在这里插入图片描述

标签:box,放大镜,slider,background,淘宝,var,document,event
来源: https://blog.csdn.net/bznhlhh/article/details/115615326

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有