分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

HTML5图片预览 ?放大

发布时间:2023-09-06 01:40责任编辑:郭大石关键词:HTML
<!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;
???????????width: 98px;
???????????height: 98px;
???????????border: 1px solid #e8e8e8;
???????????background: #fff;
???????????opacity: .5;
???????}
 
???????.wrap {
???????????width: 198px;
???????????height: 198px;
???????????border: 1PX solid #e8e8e8;
???????????margin-bottom: 10px;
???????}
 
???????.wrap img {
???????????width: 100%;
???????????height: 100%;
???????}
 
???????.subWrap {
???????????width: 298px;
???????????height: 298px;
???????????overflow: hidden;
???????????position: relative;
???????????border: 1px solid #e8e8e8;
???????}
 
???????.sub {
???????????position: absolute;
???????????top: 0;
???????????left: 0;
???????????width: 598px;
???????????height: 598px;
???????}
 
???????.sub img {
???????????width: 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:\Users\Administrator\Desktop\test.jpg" >
???????????<div id=‘show‘></div>
???????</div>
???????<input id="file" class="upload" type="file" value="">
???????<div class="subWrap">
???????????<div class="sub">
???????????????<img src="C:\Users\Administrator\Desktop\test.jpg" >
???????????</div>
???????</div>

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

</html>

HTML5图片预览 ?放大

原文地址:https://www.cnblogs.com/qiaoxinming/p/8394872.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved