最近在做项目的时候需要实现一个手机端上传图片效果,但是本来想用H5 的 multiple属性进行一次性多图上传,无奈安卓系统兼容性硬伤,暂时找不到兼容安卓网页版的多图上传方案,于是就仿了QQ空间网页版的图片上传效果。代码如下:

效果图:

javascript部分:

 <script>//获取文件urlfunction createObjectURL(blob){if (window.URL){return window.URL.createObjectURL(blob);} else if (window.webkitURL){return window.webkitURL.createObjectURL(blob);} else {return null;}}var box = $("#fileBox .review-box");    //显示图片boxvar file = $("#file"); //file对象var domFragment =  document.createDocumentFragment();   //文档流优化多次改动dom$("#fileBox").on("click", ".file-btn",function(){var index = $(this).parent().index();if(index == 6){alert("最多可以上传4张图片!");return false;}});//触发选中文件事件$("#fileBox").on("change", ".file-btn", function(event){var imgNum = parseInt($("#fileBox .review-box img").length);if(imgNum < 4){var file = event.target.files;  //获取选中的文件对象var imgTag = $("<img src=''/>");var fileName = file[0].name;    //获取当前文件的文件名var url = createObjectURL(file[0]); //获取当前文件对象的URL//忽略大小写var jpg = (fileName.indexOf(".jpg") > -1) || (fileName.toLowerCase().indexOf(".jpg") > -1);var png = (fileName.indexOf(".png") > -1) || (fileName.toLowerCase().indexOf(".png") > -1);var jpeg = (fileName.indexOf(".jpeg") > -1) || (fileName.toLowerCase().indexOf(".jpeg") > -1);//判断文件是否是图片类型if(jpg || png || jpeg){imgTag.attr("src",url);}else{alert("请选择图片类型文件!");}//最佳显示var imgbox = $("<div class='prev-item'><span class='closebtn'>×</span></div>");imgbox.append(imgTag);box.append(imgbox);event.target.parentNode.style.display = "none";var cloneDom = $(".clone-dom").eq(0).clone().removeAttr("style");$("#fileBox").append(cloneDom);}});$(".review-box").on("click", ".prev-item", function(){var index = $(this).index();$(this).remove();$("#fileBox label:eq(" + (index + 1) + ")").remove();});</script><!--选择图片上传-->

HTML部分:

<!--选择图片上传--><div class="form-group"><label><strong style="color:#FF0000;">&nbsp;</strong>执照图片:</label><label class="openflag"><input type="checkbox" class="hidden" value="" />不公开</label><div class="file-box clearboth" id="fileBox"><!--克隆的节点--><label class="clone-dom" style="display:none;"><input type="file" class="file-btn" name="img[]"/></label><!--克隆的节点--><div class="review-box"></div><label><input type="file" class="file-btn clone-dom" name="img[]"/></label></div></div>

CSS部分:

/******图片上传******/
#fileBox{margin:1rem 0;}
#fileBox label{display:block;float:left;height:50px;width:50px;background:url(../../img/uploadImg_bg.png) no-repeat center;}
#fileBox .file-btn{height:50px;width:50px;margin:0 .5rem .5rem 0;opacity:0;}
#fileBox .review-box{display:block;float:left;}
#fileBox .review-box img{height:50px;width:50px;margin:0 .5rem .5rem 0;}
#fileBox .prev-item{position:relative;display:inline-block;}
#fileBox .prev-item .closebtn{position:absolute;right: -1px;top: -4px;display: block;height: 14px;width: 14px;color: #fff;font-size: 16px;line-height:14px; text-align: center;background: red;border-radius: 10px;}
/******图片上传******/

天气好热,租不起空调房的孩子晚上睡觉真的是…….

H5移动端实现仿QQ空间照片上传效果代码相关推荐

  1. 基于ueditor开发的仿QQ空间照片上传功能

    因为项目中需要用到文章编辑和图片上传的功能,因此便在网上搜索相关的材料,发现ueditor是个非常好用的插件,同时提供的图片上传的功能正好可以用来做我们项目中的上传照片,因此花了两天时间,把uedit ...

  2. QQ空间照片上传HTML代码演示

    引用css <link rel="stylesheet" href="css/photo.css"> 展示相关代码演示如下: <div cla ...

  3. h5移动端,类似qq空间、朋友圈不规则图片显示适配功能

    前言 最近再做个H5移动端社交类型项目的时候,里面有一块 类似朋友圈.qq空间展示的模块,开发的时候发现了一个问题,就是展示用户上传的图片,因为用户上传的图片 可能是相机拍的,可能是截图.可能是网上找 ...

  4. java 仿qq空间_仿QQ空间和微信朋友圈,高解耦高复用高灵活

    先看看效果: 用极少的代码实现了 动态详情 及 二级评论 的 数据获取与处理 和 UI显示与交互,并且高解耦.高复用.高灵活. 动态列表界面MomentListFragment支持 下拉刷新与上拉加载 ...

  5. 【Android UI设计与开发】第09期:底部菜单栏(四)Fragment+PopupWindow仿QQ空间最新版底部菜单栏

    转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9023451          在今天的这篇文章当中,我依然会以实战加理论结合 ...

  6. java仿qq空间音乐播放_完美实现仿QQ空间评论回复特效

    评论回复是个很常见的东西,但是各大网站实现的方式却不尽相同.大体上有两种方式 1. 像优酷这种最常见,在输入框中@要回复的人,这种方式下,用www.cppcns.com户可以修改@. 新浪微博则是在这 ...

  7. html5仿qq空间,JS实现的仿QQ空间图片弹出效果代码

    本文实例讲述了JS实现的仿QQ空间图片弹出效果代码.分享给大家供大家参考,具体如下: function imageShow(which_click) { var image_path = which_ ...

  8. php 朋友圈留言,php实例-PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)...

    我们大部分人都发过动态,想必都知道发动态.回复评论.删除动态的整个过程,那么这个功能是如何实现的呢?下面小编给大家带来了实例代码,对PHP仿qq空间或朋友圈发布动态.评论动态.回复评论.删除动态或评论 ...

  9. 仿QQ空间图片放缩查看

    仿QQ空间图片放缩查看 仿QQ空间图片放缩查看,点击图片从原位置放大到全屏,后退从全屏缩小到原位置,效果非常好. 下载地址:http://www.devstore.cn/code/info/830.h ...

最新文章

  1. java获取下一季末_java取当前周期、月初至月末、季度初至季度末日期。
  2. 2017-2018-2 20179216 《网络攻防与实践》 第四周总结
  3. 产品经理入门——PM
  4. distributed representations的意义
  5. boost::mpl::negate相关的测试程序
  6. svn: error while loading shared libraries: libsvn_client-1.so.0
  7. HDU - 6333 Problem B. Harvest of Apples(莫队变形+思维+组合数学,好题)
  8. python 图表美化_你的图表不美观怎么办,Python实现数据可视化帮你实现
  9. theoretical-零基础学Qt4编程之Qt核心机制与原理之信号与槽-
  10. linux 分区 LVM 挂载
  11. python学习之正则表达式,StringIO模块,异常处理,搭建测试环境
  12. Appium下载及环境搭建
  13. Java HTTP 代理服务器
  14. 前端优化之二 图片优化——质量与性能的博弈
  15. 宽带服务器维护查询,网络连接状态查询方法
  16. java 替换emoji表情,java 替换掉emoji表情
  17. remix Web3 provider连接不上探究
  18. 中国科学技大学2014年数学分析考研试题
  19. 【Python】利用python进行数据分析——以新型冠状病毒疫情为例
  20. 四川2021高考体考成绩查询,2021年四川体育专业考试成绩查询网址:https://www.sceea.cn/...

热门文章

  1. CC3D飞控说明书/使用手册
  2. MySql最全的计算时间差
  3. 8岁学编程已经晚了?6个网站让你在家教孩子学编程
  4. yolov7-tiny网络结构图
  5. 技术分享连载(八十八)
  6. HTC G14刷机教程!HTC Sensation G14 RECOVERY,ROOT教程!HTC G14解锁教程!G14 ROOT教程!S-OFF教程!!
  7. 《Photoshop Lightroom4 经典教程》—第2课2.3节调整工作空间布局
  8. 下载 Android Studio 最新版本
  9. 网络经济学——第二章 网络外部性
  10. 台式计算机主要有哪些硬件组成,计算机的硬件组成有哪些?计算机的硬件组成介绍...