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

本文实例为大家分享了JavaScript实现淘宝网图片的局部放大的具体代码,供大家参考,具体内容如下

要实现的效果如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>demo1</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        .box{
            position: relative;
            width: 300px;
            height: 200px;
            background: url("./JS封面.jpg");
            /*设置背景图尺寸大小*/
            background-size: 300px 200px;
        }
        .slider{
            position: absolute;
            width: 100px;
            height: 100px;
            background: black;
            /*设置透明度0~1,0是全透明。*/
            opacity: 0.3;
        }
        .small{
            position: absolute;
            width: 100px;
            height:100px;
            background: url('./JS封面.jpg');
            top: 0px;
            right: -300px;
            background-size: 300px 200px;
            /*让元素放大,scale(3)指宽高同时放大3倍。*/
            transform: scale(3);
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="slider"></div>
        <div class="small"></div>
    </div>
</body>
</html>

<script type="text/javascript">
    var slider = document.querySelector('.slider');
    var small = document.querySelector('.small');
    //鼠标按下
    slider.onmousedown = function(event){
        var startX = event.offsetX;
        var startY = event.offsetY;
        //鼠标移动
        document.onmousemove = function (event1) {
            var l = event1.clientX-startX;
            var t = event1.clientY-startY;
            //将小滑块限制在大滑块内
            if(l <= 0) l = 0;
            if(l >= 200) l = 200;
            if(t <= 0) t = 0;
            if(t >= 100) t = 100;
            slider.style.left = l+"px";
            slider.style.top = t+"px";
            //修改小图的背景图定位
            small.style.backgroundPosition="-"+l+"px -"+t+"px";
        }
    }
    //鼠标抬起时,将鼠标移动事件移除
    document.onmouseup = function () {
        document.onmousemove = null;
    }
</script>

代码运行效果:

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

(0)

相关推荐

  • 手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果

    先来几张效果图: 点击其中一张照片可放大,可支持图片文字描述: 同时支持分享功能: 支持手势放大缩小 使用js框架是PhotoSwipe.  PhotoSwipe是一个图片放大插件,兼容pc和移动端,经历过多个版本的迭代且一直在不断更新,踩过的坑不知凡几,在移动端有着巨大的优势. 1.可控制多种风格如: 标题.分享.全屏按钮,点击事件.是否加入字幕,背景透明等. 2.可支持移动端触摸手势兼容pc端 所有的基本手势支持:滑动下一个或上一个,拖动平移.缩放.放大或关闭,点击切换控件,双击放大或缩放.

  • 鼠标滑上去后图片放大浮出效果的js代码

    复制代码 代码如下: <script> function GetAbsPosition(obj) { var curleft = 0, curtop = 0; do { curleft += obj.offsetLeft; curtop += obj.offsetTop; } while (obj = obj.offsetParent); return [curleft,curtop]; } function ShowFloatingImage(image, width, height) {

  • JS网页图片查看器(兼容IE、FF)可控制图片放大缩小移动

    修正了网上其它版本的一些错误.完美无错版 JS网页图片查看器-可控制图片放大缩小还原移动效果 body { font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 12px; line-height: 180%; } td { font-size: 12px; line-height: 150%; } drag = 0 move = 0 //

  • js实现单击图片放大图片的方法

    本文实例讲述了js实现单击图片放大图片的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <title>单击图片即可放大图片</title> <body> 点击图片预览效果.<br> <img src="/images/m01.jpg" onclick="this.width+=50;this.height+=50" onclick="javascript:

  • JS简单的图片放大缩小的两种方法

    以左上角为定点,放大缩小,该点位置不变. 方法一: Html代码 复制代码 代码如下: <script type="text/javascript">         //兼容IE和火狐   缩小放大.缩放         function ImageSuofang(args) {             var oImg = document.getElementById("oImg");             if (args) {        

  • js实现图片放大展示效果

    图片放大展示效果的实现代码,可动态生成图片,每次点击看原图的时候为当前id里面的图片 HTML <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="node_modules/jquery/jquery.js"></script> <style> *{

  • js放大镜放大图片效果

    我们 js图片放大镜 body { background: #222; overflow: hidden; left: 0; top: 0; width: 100%; height: 100%; margin: 0; padding: 0; } #screen span { position:absolute; overflow:hidden; border:#FFF solid 1px; background:#FFF; } #screen img{ position:absolute; le

  • JS实现鼠标移动到缩略图显示大图的图片放大效果

    一个网页上用的图片提示效果,当把鼠标移动到图片缩略图的时候,会显示图片大图,似乎在网上这是个很常见的效果,实现方法也比较多,有人用CSS,有人用JavaScript,有人用jQuery,总之,选择自己习惯的方式去实现,就是最棒的. 图片提示效果 body{margin:0 ;padding:40px;line-height:180%;} img{border:none;} ul,li{margin:0 ;padding:0;} li{list-style:none;display:inline;

  • js实现点击图片在屏幕中间弹出放大效果

    js实现点击图片在屏幕中间弹出放大效果 效果图 点击图片后 关键代码 html <div> <img height="100" width="100" src="https://cdn.pixabay.com/photo/2018/08/14/13/23/ocean-3605547_960_720.jpg" class="pic"/> <img height="100" wid

  • JavaScript图片放大镜效果代码[代码比较简单]

    #div1 { width:304px; height:222px; position:relative; margin:30px auto 0px;} #div1 img{width:304px; height:222px;} #div1 span { width:100px; height:100px; background:red; left:0px;top:0px; position:absolute; display:none; filter:alpha(opacity:20); op

随机推荐