html图片上传阅览并且点击放大

版权声明:本文为博主原创文章,未经博主允许不得转载。
在做项目的时候用到了图片上传,用的是网上找到的一个bootstrap模板,里面的有比较好的图片上传预览功能,但是无法点击放大图片,感觉这样用户体验不怎么好,所以就想自己加一个点击放大图片的功能上去;用到了一个GitHub的开源项目Viewer.js;地址:https://github.com/fengyuanchen/viewer;
但是在开发的时候发现对于原本就已经加载的图片是可以放大的,但是对于自己上传的图片放大不了,猜想了一下可能是因为bootstrap模板是在js里面用代码添加了一个img来显示上传的图片,而Viewer.js无法找到这个img,所以点击之后放大不了。因为刚开始接触这方面,所以源码也没怎么看懂,不知道这个猜想对不对;
其实对于项目而言,上传的图片不能点击放大是没有什么影响的,一般我们不需要放大本地有的图片,但是对于这么一个功能我还是很想去做一下实现一下的,所以就在空闲之余网上各种找方法拼凑一下整合一下做出来;
首先准备工作室要下载jquery和Viewer;
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <meta name="author" content="EdieLei" />
- <title></title>
- <link rel="stylesheet" type="text/css" href="zoom/viewer.css"/>
- <link rel="stylesheet" type="text/css" href="zoom/main.css"/>
- <body>
- <h3>HTML5 图片上传预览</h3>
- <div class="docs-pictures clearfix">
- <img id="pic" src="" style="width: 200px;height: 200px;"/>
- </div>
- <input id="img" type="file" accept="image/*" />
- <script src="js/jquery-1.11.1.min.js" type="text/javascript" charset="utf-8"></script>
- <script src="zoom/viewer.js" type="text/javascript" charset="utf-8"></script>
- <script src="zoom/main.js" type="text/javascript" charset="utf-8"></script>
- <script type="text/javascript">
- $(function() {
- $('#img').change(function() {
- var file = this.files[0]; //选择上传的文件
- var r = new FileReader();
- r.readAsDataURL(file); //Base64
- $(r).load(function() {
- $('#pic').attr('src',this.result);
- });
- });
- });
- </script>
- </head>
- </body>
- </html>
上传前:
上传后:
放大后:
这里感觉放大效果不明显,这是因为原图就这么大,可以手动点击底部按钮进行图片的调整,而实际中我们在网页上经常显示的是图片的缩略图,当点击之后显示原图就已经是放大了;如果需要点击之后得到的图比原图要大的话那就要改Viewer.js里面的属性了,
大致改的位置在533行:
- image = {
- naturalWidth: naturalWidth,
- naturalHeight: naturalHeight,
- aspectRatio: aspectRatio,
- ratio: width / naturalWidth,
- width: width*1.5,
- height: height*1.5,
- left: (viewerWidth - width*1.5) / 2,
- top: (viewerHeight - height*1.5) / 2
- };
- 顶
- 0
- 踩
- 0
- 用 户 名:
- qq_40222212
- 评论内容:

- 文章搜索
- 文章分类
- android组件属性(0)
- android验证功能(0)
- boostrap插件(1)
- android笔记(7)
- html学习(2)
- SSM框架学习笔记(1)
- android studio(0)
- android studio笔记(2)
- android SuperExample开发(0)
- 阅读排行
- bootstrap-table.js如何根据单元格数据不同显示不同的字体的颜色(6962)
- android当activity加载完成后自动弹出popWindow(896)
- html图片上传阅览并且点击放大(661)
- struts2 2.5.2web.xml和struts.xmll配置(237)
- android开发设置应用开机自启动(2)——并使应用实时保持在前台(138)
- android使用TextView实现文字的跑马灯效果(122)
- android开发设置应用开机自启动(108)
- RecyclerView中绘制不相同的分割线(105)
- HTML学习笔记(88)
- 自定义图片手势缩放ImageView笔记(86)
- 评论排行
html图片上传阅览并且点击放大的更多相关文章
- vue富文本编辑器vue-quill-editor使用总结(包含图片上传,拖拽,放大和缩小)
vue-quill-editor是vue很好的富文本编辑器,富文本的功能基本上都支持,样式是黑白色,简洁大方. 第一步下载 vue-quill-editor: npm i vue-quill-edit ...
- H5实现多图片预览上传,可点击可拖拽控件介绍
版权声明:欢迎转载,请注明出处:http://blog.csdn.net/weixin_36380516 在做图片上传时发现一个蛮好用的控件,支持多张图片同时上传,可以点击选择图片,也可以将图片拖拽到 ...
- HTML5笔记:跨域通讯、多线程、本地存储和多图片上传技术
最近做项目在前端我使用了很多新技术,这些技术有bootstrap.angularjs,不过最让我兴奋的还是使用了HTML5的技术,今天我想总结一些HTML5的技术,好记性不如烂笔头,写写文章可以很好的 ...
- .NET MVC实现多图片上传并附带参数(ajaxfileupload)
做网站呢,都免不了要做图片上传. 还记得去年做微信的时候用WebAPI+ajaxfileupload.js做了一个能够附带参数上传的功能,博文地址:.NET WebAPI 实现图片上传(包括附带参数上 ...
- .NET WebAPI 实现图片上传(包括附带参数上传图片)
博主的项目,客户端是APP,考虑到以后也可能会应用到微信端.网站等,图片上传方法就需要兼容多端,并且以目前的设计,不允许非登录用户上传图片,就得在上传时解决附带参数上传图片的问题. 先来看看后台方法( ...
- 百度UEditor在线编辑器的配置和图片上传
前言 最近在项目中使用了百度UEditor富文本编辑器,配置UEditor过程中遇到了几个问题,在此记录一下解决方案和使用方法,避免以后使用UEditor出现类似的错误. 基本配置 一.下载UEdit ...
- ASP.Net MVC3 图片上传详解(form.js,bootstrap)
图片上传的插件很多,但很多时候还是不能切合我们的需求,我这里给大家分享个我用一个form,file实现上传四张图片的小demo.完全是用jquery前后交互,没有用插件. 最终效果图如下: 玩过花田人 ...
- Nodejs之MEAN栈开发(四)---- form验证及图片上传
这一节增加推荐图书的提交和删除功能,来学习node的form提交以及node的图片上传功能.开始之前需要源码同学可以先在git上fork:https://github.com/stoneniqiu/R ...
- 分离与继承的思想实现图片上传后的预览功能:ImageUploadView
本文要介绍的是网页中常见的图片上传后直接在页面生成小图预览的实现思路,考虑到该功能有一定的适用性,于是把相关的逻辑封装成了一个ImageUploadView组件,实际使用效果可查看下一段的git效果图 ...
随机推荐
- asp.net mvc 使用NPOI插件导出excel
/// <summary> /// 交易账单 导出交易列表 /// </summary> /// <returns></returns> public ...
- C#使用Owin技术部署轻量级webApi服务
写在前面: 除了使用IIS可以启用WebApi之外,微软还提供了Owin技术,免除了IIS繁琐的部署配置,只需要运行编写好的程序,即可启用webApi服务,是不是很爽呢? 对于Owin技术的详细介绍这 ...
- springboot+dubbo修改扫描路径引起端口占用的问题
因为在多模块项目中引入了spring security,消费方(控制层)的工程有两个包,一个controller,一个config.引入之前消费方工程的application.properties中s ...
- Linux rhcsa认证考试试题模拟
声明: 此套试题是2017年rhcsa考试题库,本题库需配合相对应的机器操作,实验环境在我的网盘下载 考试环境: server.group8.example.com 172.24.8.254/24 s ...
- ssh连接远程主机执行脚本的环境变量问题
近日在使用ssh命令ssh user@remote ~/myscript.sh登陆到远程机器remote上执行脚本时,遇到一个奇怪的问题: ~/myscript.sh: line n: app: co ...
- Android判断一个点是否在矩形区域内
个人遇到的问题判断按钮的点击事件还是滑动事件 private boolean button1Down = false; private boolean button2Down = false; pri ...
- df命令,du命令,磁盘分区
df 命令 功能:用来检查linux的文件系统的磁盘空间占用情况 1. df -h 2. 以innode节点数量显示磁盘空间占用情况 df -ih 3. 列出文件系统类型 df -Th du 命令 功 ...
- QT Designer基础——登录界面设计基础版
认识QT Designer提供的可选控件:以下八个大类 Layouts:布局相关 Spacers:留空 Buttons:可点击的按钮类 Item Views和 Item Widgets:高级控件,例如 ...
- FortiGate 服务License注册步骤
1. 产品服务license文档 购买服务后,用户会收到一份PDF文档<Service Registration Document>,内有如下内容: 2. 登陆 https://suppo ...
- python day03_ 文件处理
一.文件操作的基本流程 计算机操作文件的过程 #1. 打开文件,得到文件句柄并赋值给一个变量 #2. 通过句柄对文件进行操作 #3. 关闭文件 1.文件的打开过程 # f被程序持有,文件被操作系统持有 ...
目录视图
摘要视图
订阅
