HTML5 <input>添加多张图片,可点击弹窗放大。限定4张,可删除。
点击弹窗放大,需要加入插件。
<link rel="stylesheet" href="css/photoswipe.css">
<link rel="stylesheet" href="css/default-skin.css">
<link rel="stylesheet" href="css/gallery.css">
<script type="text/javascript" src="js/guid.js"></script>
<script src="js/photoswipe.min.js"></script>
<script src="js/photoswipe-ui-default.min.js"></script>
<script src="js/photoSwipe.js"></script>
HTML:
div class="uploaderPhoto">
<ul id="photoUl" class="photoUl">
</ul>
<ul class="btnUl">
<li class="addLi">
<input type="file" id="camera" multiple="multiple" capture="camera" accept="image/*">
</li>
</ul>
</div>
JS:
var _guid;
var imgCount=0;
$(document).ready(function(){
var guid = new GUID();
_guid=guid.newGUID();
$(".uploaderPhoto ul li").width(li_width);
$(".uploaderPhoto ul li").height(li_height);
/*initImg();*/
$("#camera").change(function(e){
var files = e.target.files||e.dataTransfer.files;
if((imgCount+files.length)>4){
if(imgCount==0){
alert("只能选择"+(4-imgCount)+"张图片");
}else{
alert("只能再选择"+(4-imgCount)+"张图片");
}
return;
}
for (var i = 0; i < files.length; i++) {
imgCount++;
var file = files[i];
var reader = new FileReader();
reader.onload=function(){
var imgId=guid.newGUID();;
var li=document.createElement("li");
li.id=imgId;
$(li).width(li_width);
$(li).height(li_height);
var html="<figure>"+
" <a href='"+this.result+"' data-size='800x1142' onclick='setSelImg(\""+imgId+"\");'>" +
"<img src='"+this.result+"' style='width:"+li_width+"px;height:"+li_height+"px;' />" +
"</a>"+
"</figure>";
$(li).html(html);
/* $(li).insertBefore(".addLi");*/
$(li).appendTo("#photoUl");
initPhotoSwipeFromDOM('.photoUl');
}
reader.readAsDataURL(file);
if(imgCount==4){
//是否隐藏添加按钮
$(".btnUl").css("display","none");
}
}
});
});
//删除照片
var selImgId="";
function setSelImg(imgId){
selImgId=imgId;
}
function removeImg(){
if(confirm("确定要删除该照片吗?"))
{
$('#closeBtn').click();
var li=$("#"+selImgId);
li.remove();
imgCount--;
}
}
上传数据库,见下篇
HTML5 <input>添加多张图片,可点击弹窗放大。限定4张,可删除。的更多相关文章
- 使用 HTML5 input 类型提升移动端输入体验
在过去的几年里,在移动设备上浏览网页已变得难以置信的受欢迎. 但是这些设备上的浏览体验,有时遗留很多的有待改进.当涉及到填写表单时,这一点尤为明显.幸运的是,HTML5规范引入了许多新input类型, ...
- input放在a标签里面不能选择input里面的文本,IE9点击失效
input放在a标签里面不能选择input里面的文本,IE9点击失效 在IE浏览器中<input type="text" value="test" /&g ...
- input添加邮箱的时候自动显示后缀
1.HTML代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- 使用 HTML5 input 类型提升移动端输入体验(键盘)
在最近的项目中,策划老是要求我们弹出各种类型的键盘,特别是在iOS下,例如输入帐号的时候,不应该支持输入中文,该输入纯数字的时候就应该谈数字键盘等.个人觉得这些都是我们平时开发很少意识到的,虽然有些刁 ...
- 微信小程序-两个input叠加,多次点击字体变粗或闪动
问题描述: 当两个input叠加,多次点击input框, placeholder 字体变粗或input框闪动.如图: 代码: <!-- 最上层input-1 --> <input p ...
- html5 input number类型使用整理
一. html5 input中的数字number类型, 只能输入整数,如果要输入浮点数呢,可以通过max.min和step去定义. type="number" 数字类型 mi ...
- 使用 HTML5 input 类型提升移动端输入体验(转翻译)
在过去的几年里,在移动设备上浏览网页已变得难以置信的受欢迎. 但是这些设备上的浏览体验,有时遗留很多的有待改进.当涉及到填写表单时,这一点尤为明显.幸运的是,HTML5规范引入了许多新input类型, ...
- 移除HTML5 input在type="number"时的上下小箭头
/*移除HTML5 input在type="number"时的上下小箭头*/ input::-webkit-outer-spin-button, input::-webkit-in ...
- 原生HTML5 input type=file按钮UI自定义
原生<input type="file" name="file" />长得太丑 提升一下颜值 实现方案一.设置input[type=file]透明度 ...
随机推荐
- photoshop学习入门:选择和处理
昨天花了一天时间看了李涛的视频<高手之路>入门的24集,累得连写工作日报的力气都没了,19点就睡.今天4点起来,补一下记录. photoshop是个位图处理工具(别的花里胡哨的功能忽略)— ...
- qt qml ajax 获取 json 天气数据示例
依赖ajax.js类库,以下代码很简单的实现了获取天气json数据并展示的任务 [TestAjax.qml] import QtQuick 2.0 import "ajax.js" ...
- T3500通过PXE克隆报“Unable to Control A20 Line XMS Driver not installed”
问题:使用deepin_ghost1.6中的PXE网络GHOST时提示如下错误信息: ERROR:Unable to control A20 line!XMS Driver not installed ...
- Java的文件读写操作
file(内存)----输入流---->[程序]----输出流---->file(内存) 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStr ...
- Codeforces 747D:Winter Is Coming(贪心)
http://codeforces.com/problemset/problem/747/D 题意:有n天,k次使用冬天轮胎的机会,无限次使用夏天轮胎的机会,如果t<=0必须使用冬轮,其他随意. ...
- 【转】不容忽视的ClassNotFoundException
转载地址:http://it.deepinmind.com/jvm/2014/04/11/classnotfoundexception-is-it-slowing-down-your-jvm.html ...
- EF的性能改善和思考
EF是个工具,用的好了性能就会很好,用的不好性能就会有很大损失. 先从EF的设计思想来讲解 EF的初衷是根据缓存中的实体对象,以及实体对象的状态(删除.更新.添加)来对数据库进行操作,这些实体对象.以 ...
- CSS3 :target伪类实现Tab切换效果
用:target伪类实现Tab切换效果真的非常简单!简单到什么程度呢?它只需要下面这些代码. style.css: .song-info { position: absolute; backgroun ...
- 【转】T-SQL查询进阶—理解SQL Server中的锁
简介 在SQL Server中,每一个查询都会找到最短路径实现自己的目标.如果数据库只接受一个连接一次只执行一个查询.那么查询当然是要多快好省的完成工作.但对于大多数数据库来说是需要同时处理多个查 ...
- ECMAScript toString() 方法
ECMAScript 定义所有对象都有 toString() 方法,无论它是伪对象,还是真对象. ECMAScript 的 Boolean 值.数字和字符串的原始值的有趣之处在于它们是伪对象,这意味着 ...