html中让图片放大的代码,HTML5图片预览 放大(示例代码)
* {
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%;
}
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();
}
html中让图片放大的代码,HTML5图片预览 放大(示例代码)相关推荐
- android 圆形相机预览拍照_Android多种方式实现相机圆形预览的示例代码
效果图如下: 一.为预览控件设置圆角 public RoundTextureView(Context context, AttributeSet attrs) { super(context, att ...
- VUE图片预览放大缩小插件viewer
VUE图片预览放大缩小插件viewer 一.安装依赖 npm install v-viewer --save 二.main.js内引用并注册调用 //main.js import Viewer fro ...
- VSCode中安装Live Server插件实现Html网页代码的实时预览
VSCode中安装Live Server插件实现Html网页代码的实时预览 利用寒假时间学习了一些基本的网页知识,在编写Html代码时可以利用IDEA.WebStorm.Dream Weaver等工具 ...
- android 录像 视频大小,Android相机 – 录制视频时预览放大
我一直试图弄清楚一段时间,但由于某种原因,当我开始使用相机录制视频时,预览放大.我从以下示例中获取以下代码: @Override public void surfaceChanged(SurfaceH ...
- vue element 单张图片上传,删除,预览
功能点: 点击'查看图片'按钮,弹窗中会展示图片,第一次看到的图片是从父组件传过来的图片,点击删除按钮,调取删除接口删除图片,在重新上传图片,data中放入列表那一项的数据,上传成功,图片需要回显,此 ...
- vue 项目中使用three.js实现vr360度全景图片预览
vue 项目中使用three.js实现vr360度全景图片预览 当前demo使用的three.js为0.115.0版本 项目中安装three npm install three 安装完成再组件如下导入 ...
- 厉害了,手把手教你搭建一个代码在线编辑预览工具
点击下方"前端开发博客",选择"设为星标" 回复"2"加入前端群 简介 大家好,我是一个闲着没事热衷于重复造轮子的不知名前端,今天给大家带来 ...
- 手把手教你快速搭建一个代码在线编辑预览工具
简介 大家好,今天我跟大家分享的是一个代码在线编辑预览工具的实现教程,手把手教你完成这样一个项目. 目前这类工具使用很广泛,常见于各种文档网站及代码分享场景,相关工具也比较多,如codepen.jsr ...
- js 获取图片url的Blob值并预览
js 获取图片url的Blob值并预览 1)使用 XMLHttpRequest 对象获取图片url的Blob值 参考:https://www.cnblogs.com/tujia/p/6483255.h ...
- [html] 图片上传时实现本地预览功能的原理是什么?
[html] 图片上传时实现本地预览功能的原理是什么? 通过HTML5 File API读取用户上传的图片,生成一个image对象显示到页面 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容 ...
最新文章
- 【linux】CentOS启动后网络自动配置过程
- 【青少年编程】黄羽恒:翻译小工具 -- 利用百度翻译
- Java知识整理——容器
- Windows10远程报错:由于CredSSP加密Oracle修正
- Golang --- package
- 饿了么4年+阿里2年:研发路上的一些总结与思考
- 如何在VisualStudio中加入你自己的assembly的Intellisense?
- c#halcon 联合编程经验总结
- unix系列系统镜像下载
- 网络安全实验4 SQL注入攻击
- MySQL建表语句解析表名
- 数据结构c语言描述 试题,数据结构c语言版试题大全(含答案)
- 培根密码加解密(Python)
- 串行口实验 编写程序利用串口调试助手通过串口给实验板发送数据(数据范围0x00-0xfe),单片机将接受到的数据加1后再发送给PC机。
- mysql 数据库update_[数据库]MySQL 常用的UPDATE操作
- 【PRD】倒推“Soul”APP产品需求文档
- 精神分析理论-弗洛伊德
- 这部纪录片带你重新认识中华神州大地,领略你不知道的中国
- 学习ARM开发(3)
- java比较器原理理解