H5移动端实现仿QQ空间照片上传效果代码
最近在做项目的时候需要实现一个手机端上传图片效果,但是本来想用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;"> </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空间照片上传效果代码相关推荐
- 基于ueditor开发的仿QQ空间照片上传功能
因为项目中需要用到文章编辑和图片上传的功能,因此便在网上搜索相关的材料,发现ueditor是个非常好用的插件,同时提供的图片上传的功能正好可以用来做我们项目中的上传照片,因此花了两天时间,把uedit ...
- QQ空间照片上传HTML代码演示
引用css <link rel="stylesheet" href="css/photo.css"> 展示相关代码演示如下: <div cla ...
- h5移动端,类似qq空间、朋友圈不规则图片显示适配功能
前言 最近再做个H5移动端社交类型项目的时候,里面有一块 类似朋友圈.qq空间展示的模块,开发的时候发现了一个问题,就是展示用户上传的图片,因为用户上传的图片 可能是相机拍的,可能是截图.可能是网上找 ...
- java 仿qq空间_仿QQ空间和微信朋友圈,高解耦高复用高灵活
先看看效果: 用极少的代码实现了 动态详情 及 二级评论 的 数据获取与处理 和 UI显示与交互,并且高解耦.高复用.高灵活. 动态列表界面MomentListFragment支持 下拉刷新与上拉加载 ...
- 【Android UI设计与开发】第09期:底部菜单栏(四)Fragment+PopupWindow仿QQ空间最新版底部菜单栏
转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9023451 在今天的这篇文章当中,我依然会以实战加理论结合 ...
- java仿qq空间音乐播放_完美实现仿QQ空间评论回复特效
评论回复是个很常见的东西,但是各大网站实现的方式却不尽相同.大体上有两种方式 1. 像优酷这种最常见,在输入框中@要回复的人,这种方式下,用www.cppcns.com户可以修改@. 新浪微博则是在这 ...
- html5仿qq空间,JS实现的仿QQ空间图片弹出效果代码
本文实例讲述了JS实现的仿QQ空间图片弹出效果代码.分享给大家供大家参考,具体如下: function imageShow(which_click) { var image_path = which_ ...
- php 朋友圈留言,php实例-PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)...
我们大部分人都发过动态,想必都知道发动态.回复评论.删除动态的整个过程,那么这个功能是如何实现的呢?下面小编给大家带来了实例代码,对PHP仿qq空间或朋友圈发布动态.评论动态.回复评论.删除动态或评论 ...
- 仿QQ空间图片放缩查看
仿QQ空间图片放缩查看 仿QQ空间图片放缩查看,点击图片从原位置放大到全屏,后退从全屏缩小到原位置,效果非常好. 下载地址:http://www.devstore.cn/code/info/830.h ...
最新文章
- java获取下一季末_java取当前周期、月初至月末、季度初至季度末日期。
- 2017-2018-2 20179216 《网络攻防与实践》 第四周总结
- 产品经理入门——PM
- distributed representations的意义
- boost::mpl::negate相关的测试程序
- svn: error while loading shared libraries: libsvn_client-1.so.0
- HDU - 6333 Problem B. Harvest of Apples(莫队变形+思维+组合数学,好题)
- python 图表美化_你的图表不美观怎么办,Python实现数据可视化帮你实现
- theoretical-零基础学Qt4编程之Qt核心机制与原理之信号与槽-
- linux 分区 LVM 挂载
- python学习之正则表达式,StringIO模块,异常处理,搭建测试环境
- Appium下载及环境搭建
- Java HTTP 代理服务器
- 前端优化之二 图片优化——质量与性能的博弈
- 宽带服务器维护查询,网络连接状态查询方法
- java 替换emoji表情,java 替换掉emoji表情
- remix Web3 provider连接不上探究
- 中国科学技大学2014年数学分析考研试题
- 【Python】利用python进行数据分析——以新型冠状病毒疫情为例
- 四川2021高考体考成绩查询,2021年四川体育专业考试成绩查询网址:https://www.sceea.cn/...
热门文章
- CC3D飞控说明书/使用手册
- MySql最全的计算时间差
- 8岁学编程已经晚了?6个网站让你在家教孩子学编程
- yolov7-tiny网络结构图
- 技术分享连载(八十八)
- HTC G14刷机教程!HTC Sensation G14 RECOVERY,ROOT教程!HTC G14解锁教程!G14 ROOT教程!S-OFF教程!!
- 《Photoshop Lightroom4 经典教程》—第2课2.3节调整工作空间布局
- 下载 Android Studio 最新版本
- 网络经济学——第二章 网络外部性
- 台式计算机主要有哪些硬件组成,计算机的硬件组成有哪些?计算机的硬件组成介绍...