图片预览

* {

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图片预览 放大(示例代码)相关推荐

  1. android 圆形相机预览拍照_Android多种方式实现相机圆形预览的示例代码

    效果图如下: 一.为预览控件设置圆角 public RoundTextureView(Context context, AttributeSet attrs) { super(context, att ...

  2. VUE图片预览放大缩小插件viewer

    VUE图片预览放大缩小插件viewer 一.安装依赖 npm install v-viewer --save 二.main.js内引用并注册调用 //main.js import Viewer fro ...

  3. VSCode中安装Live Server插件实现Html网页代码的实时预览

    VSCode中安装Live Server插件实现Html网页代码的实时预览 利用寒假时间学习了一些基本的网页知识,在编写Html代码时可以利用IDEA.WebStorm.Dream Weaver等工具 ...

  4. android 录像 视频大小,Android相机 – 录制视频时预览放大

    我一直试图弄清楚一段时间,但由于某种原因,当我开始使用相机录制视频时,预览放大.我从以下示例中获取以下代码: @Override public void surfaceChanged(SurfaceH ...

  5. vue element 单张图片上传,删除,预览

    功能点: 点击'查看图片'按钮,弹窗中会展示图片,第一次看到的图片是从父组件传过来的图片,点击删除按钮,调取删除接口删除图片,在重新上传图片,data中放入列表那一项的数据,上传成功,图片需要回显,此 ...

  6. vue 项目中使用three.js实现vr360度全景图片预览

    vue 项目中使用three.js实现vr360度全景图片预览 当前demo使用的three.js为0.115.0版本 项目中安装three npm install three 安装完成再组件如下导入 ...

  7. 厉害了,手把手教你搭建一个代码在线编辑预览工具

    点击下方"前端开发博客",选择"设为星标" 回复"2"加入前端群 简介 大家好,我是一个闲着没事热衷于重复造轮子的不知名前端,今天给大家带来 ...

  8. 手把手教你快速搭建一个代码在线编辑预览工具

    简介 大家好,今天我跟大家分享的是一个代码在线编辑预览工具的实现教程,手把手教你完成这样一个项目. 目前这类工具使用很广泛,常见于各种文档网站及代码分享场景,相关工具也比较多,如codepen.jsr ...

  9. js 获取图片url的Blob值并预览

    js 获取图片url的Blob值并预览 1)使用 XMLHttpRequest 对象获取图片url的Blob值 参考:https://www.cnblogs.com/tujia/p/6483255.h ...

  10. [html] 图片上传时实现本地预览功能的原理是什么?

    [html] 图片上传时实现本地预览功能的原理是什么? 通过HTML5 File API读取用户上传的图片,生成一个image对象显示到页面 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容 ...

最新文章

  1. 【linux】CentOS启动后网络自动配置过程
  2. 【青少年编程】黄羽恒:翻译小工具 -- 利用百度翻译
  3. Java知识整理——容器
  4. Windows10远程报错:由于CredSSP加密Oracle修正
  5. Golang --- package
  6. 饿了么4年+阿里2年:研发路上的一些总结与思考
  7. 如何在VisualStudio中加入你自己的assembly的Intellisense?
  8. c#halcon 联合编程经验总结
  9. unix系列系统镜像下载
  10. 网络安全实验4 SQL注入攻击
  11. MySQL建表语句解析表名
  12. 数据结构c语言描述 试题,数据结构c语言版试题大全(含答案)
  13. 培根密码加解密(Python)
  14. 串行口实验 编写程序利用串口调试助手通过串口给实验板发送数据(数据范围0x00-0xfe),单片机将接受到的数据加1后再发送给PC机。
  15. mysql 数据库update_[数据库]MySQL 常用的UPDATE操作
  16. 【PRD】倒推“Soul”APP产品需求文档
  17. 精神分析理论-弗洛伊德
  18. 这部纪录片带你重新认识中华神州大地,领略你不知道的中国
  19. 学习ARM开发(3)
  20. java比较器原理理解

热门文章

  1. 深入解读OpenSURF中快速黑塞矩阵计算的思想——FastHessian_buildResponseLayer
  2. 自己写的极简Mac番茄时间,强制黑屏休息
  3. Web服务稳定性测试 负载测试 可靠性测试 方案 测试报告
  4. IBus输入法安装和设置
  5. DoTween动画系统
  6. 基于matlab的语音识别系统,基于Matlab的语音识别系统研究
  7. 【转】科普贴:BIOS和UEFI的启动项
  8. 单相智能电表(DL/T645-2007协议)
  9. B2C电商产品系统分析
  10. ros使用相机usb cam