zoukankan      html  css  js  c++  java
  • HTML5图片预览 放大

    <!DOCTYPE html>
    <html>

    <head>
    <meta charset="UTF-8">
    <title>图片预览</title>
    <style>
    * {
    margin: 0;
    padding: 0;
    }
     
    .picture {
    margin: 20px;
    position: relative;
    }
     
    #show {
    position: absolute;
    top: 0;
    left: 0;
    98px;
    height: 98px;
    border: 1px solid #e8e8e8;
    background: #fff;
    opacity: .5;
    }
     
    .wrap {
    198px;
    height: 198px;
    border: 1PX solid #e8e8e8;
    margin-bottom: 10px;
    }
     
    .wrap img {
    100%;
    height: 100%;
    }
     
    .subWrap {
    298px;
    height: 298px;
    overflow: hidden;
    position: relative;
    border: 1px solid #e8e8e8;
    }
     
    .sub {
    position: absolute;
    top: 0;
    left: 0;
    598px;
    height: 598px;
    }
     
    .sub img {
    100%;
    height: 100%;
    }
    </style>
    <script>
    window.onload = function() {
    function p(arg) {
    console.log(arg);
    }
    let file = document.querySelector('#file'),
    picture = document.querySelector('.picture'),
    wrap = document.querySelector('.wrap'),
    sub = document.querySelector('.sub'),
    show = document.getElementById('show'),
    showTop = 0,
    showLeft = 0,
    moveTop = 0,
    moveLeft = 0;

    function move() {
    show.onmousemove = function(ev) {
    let e = ev || window.event;
    e.stopPropagation();
    e.preventDefault();
    moveTop = e.clientY - picture.offsetTop - wrap.offsetTop - show.offsetHeight / 2;
    moveLeft = e.clientX - picture.offsetLeft - wrap.offsetLeft - show.offsetWidth / 2;
    p(moveLeft);
    if (moveTop < 0) {
    show.style.top = '0px';
    console.log('上');
    } else if (moveLeft < 0) {
    show.style.left = '0px';
    console.log('左');
    } else if (moveTop > 100) {
    show.style.top = '100px';
    console.log('上2');
    } else if (moveLeft > 100) {
    show.style.left = '100px';
    console.log('左2');
    } else {
    show.style.top = moveTop + 'px';
    show.style.left = moveLeft + 'px';
    sub.style.top = -moveTop * 3 + 'px';
    sub.style.left = -moveLeft * 3 + 'px';
    }

    }

    show.onmouseup = function() {
    this.onmousemove = null;
    }
    }
    file.addEventListener('change', function() {
    let reader = new FileReader(),
    img = wrap.querySelector('img'),
    subImg = sub.querySelector('img');
    reader.readAsDataURL(this.files[0]);
    reader.onloadend = function() {
    img.src = this.result;
    subImg.src = this.result
    }

    }, false);
    move();

    }
    </script>
    </head>

    <body>
    <div class="picture">
    <div class="wrap">
    <img src="C:UsersAdministratorDesktop est.jpg" alt="">
    <div id='show'></div>
    </div>
    <input id="file" class="upload" type="file" value="">
    <div class="subWrap">
    <div class="sub">
    <img src="C:UsersAdministratorDesktop est.jpg" alt="">
    </div>
    </div>

    </div>
    </body>
    <script>
    </script>

    </html>
  • 相关阅读:
    python调用函数实现数据的增删改查(1)
    VA Code编写html(1)
    python 跑服务器,访问自己制作的简单页面
    python调用函数实现数据的增删改查(2)
    VS Code编写html(2)
    python编写简单的html登陆页面(4)
    python编写简单的html登陆页面(1)
    虚拟机端口映射!
    VIM 主题管理
    Vim 窗口管理插件
  • 原文地址:https://www.cnblogs.com/qiaoxinming/p/8394872.html
Copyright © 2011-2022 走看看