点击弹窗放大,需要加入插件。

<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张,可删除。的更多相关文章

  1. 使用 HTML5 input 类型提升移动端输入体验

    在过去的几年里,在移动设备上浏览网页已变得难以置信的受欢迎. 但是这些设备上的浏览体验,有时遗留很多的有待改进.当涉及到填写表单时,这一点尤为明显.幸运的是,HTML5规范引入了许多新input类型, ...

  2. input放在a标签里面不能选择input里面的文本,IE9点击失效

    input放在a标签里面不能选择input里面的文本,IE9点击失效 在IE浏览器中<input type="text" value="test" /&g ...

  3. input添加邮箱的时候自动显示后缀

    1.HTML代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  4. 使用 HTML5 input 类型提升移动端输入体验(键盘)

    在最近的项目中,策划老是要求我们弹出各种类型的键盘,特别是在iOS下,例如输入帐号的时候,不应该支持输入中文,该输入纯数字的时候就应该谈数字键盘等.个人觉得这些都是我们平时开发很少意识到的,虽然有些刁 ...

  5. 微信小程序-两个input叠加,多次点击字体变粗或闪动

    问题描述: 当两个input叠加,多次点击input框, placeholder 字体变粗或input框闪动.如图: 代码: <!-- 最上层input-1 --> <input p ...

  6. html5 input number类型使用整理

      一.  html5 input中的数字number类型, 只能输入整数,如果要输入浮点数呢,可以通过max.min和step去定义. type="number" 数字类型 mi ...

  7. 使用 HTML5 input 类型提升移动端输入体验(转翻译)

    在过去的几年里,在移动设备上浏览网页已变得难以置信的受欢迎. 但是这些设备上的浏览体验,有时遗留很多的有待改进.当涉及到填写表单时,这一点尤为明显.幸运的是,HTML5规范引入了许多新input类型, ...

  8. 移除HTML5 input在type="number"时的上下小箭头

    /*移除HTML5 input在type="number"时的上下小箭头*/ input::-webkit-outer-spin-button, input::-webkit-in ...

  9. 原生HTML5 input type=file按钮UI自定义

    原生<input type="file" name="file" />长得太丑 提升一下颜值 实现方案一.设置input[type=file]透明度 ...

随机推荐

  1. 介绍Ext JS 4.2的新特性的《深入浅出Ext JS》上市

    以用户为中心的时代,应用的界面外观变得越来越重要.然而,很多程序员都缺乏美术功底,要开发出界面美观的应用实属不易.Ext JS的出现,为广大程序员解决了这一难题.它有丰富多彩的界面和强大的功能,是开发 ...

  2. Dynamics AX 2012 R2 窗体系列 - 在窗体上修改字段时所触发的方法及其顺序

        在这个系列里,Reinhard将和大家一起探索在AX的窗体上执行操作时,都会触发窗体.窗体数据源和表上的哪些方法,并且是以怎样的顺序触发的.     这次,我们来看看在窗体上修改或录入数据的情 ...

  3. Vmware10如何打开vmware11建立的虚拟机

    先说一下办法: 使用文本工具打开VMware 虚拟机配置文件(*.vmx文件),找到"virtualHW.version"一行,将值11修改为10保存即可. 修改之前: 硬件兼容性 ...

  4. (更新)Java + 腾讯企业邮箱 + javamail + SSL 发送邮件

    咳咳~最头疼的就是莫名其妙的错误. 本来今年6月份运行通过的代码,过俩月就报错了. javax.mail.MessagingException: Could not connect to SMTP h ...

  5. args[0]

    java程序有一个主方法,是这样的public static void main(String [] args)你说的args[0]就是你用命令行编译运行java程序时,传入的第一个参数,比如你运行一 ...

  6. 虚拟机中Linux系统盘空间不足

    虚拟机中Linux系统盘在使用过程中, 出现空间不足的提示. 使用命令du --max-depth=1 -h 查看Home目录下各个文件占用空间, 发现是./cache(隐藏文件)占用很大空间.进入c ...

  7. C# Socket编程笔记

    1.按惯例先来介绍下socket      Windows中的很多东西都是从Unix领域借鉴过来的,Socket也是一样.在Unix中,socket代表了一种文件描述符(在Unix中一切都是以文件为单 ...

  8. JDK动态代理的实现原理

    学习JDK动态代理,从源码层次来理解其实现原理参考:http://blog.csdn.net/jiankunking/article/details/52143504

  9. eclipse 4.5.2 源码修改 格式化Java代码

    注:本文代码基于eclipse4.5.2 1. 需求:在换电脑之后,如何不用配置eclipse就可以很快进入开发呢,并保持原来的编码规范. 2. 方法:修改eclipse源码 分别修改了两个jar包2 ...

  10. GZDBHelperDemo 一

    1.新建Window窗体项目GZDBHelperDemo 2.从Nuget添加GZDBHelper引用 添加完成后会出现GZDBHelper的引用 3.添加数据库链接管理类 添加类库文件:Databa ...