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

<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. 《写给大忙人看的java se 8》笔记

    现在才来了解java8,是不是后知后觉了点? 新的编程技术,个人不喜欢第一时间跟进. 待社区已有实践积淀再切入似乎更划算些? 一点点精明的考虑. 不多说,上代码. //读<写给大忙人看的java ...

  2. iOS 图片的按照比例拉伸

    // 这是一个UIImage 的分类 (  UIImage+Extension.h   ) UIImage+Extension.h #import <UIKit/UIKit.h> @int ...

  3. python 学习(json)(转)

    Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式.Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式.现在也常用于h ...

  4. 放在NSArray、NSDictionary等容器内的对象Item,Item中的property在程序运行过程中被无故释放

    可能是被释放的property本身是OC对象而它的属性被误写成assign,例如: @interface MyItem : Object @property (nonatomic, assign) N ...

  5. kafka0.9.0及0.10.0配置属性

    问题导读1.borker包含哪些属性?2.Producer包含哪些属性?3.Consumer如何配置?borker(0.9.0及0.10.0)配置Kafka日志本身是由多个日志段组成(log segm ...

  6. CAS示例环境部署及配置

    http://wenku.baidu.com/link?url=d6JjWqOtuUediSkV18XagtVG9lVC2hTiaIEimfIgv1PIW8RMA1sXeIqqtJkW90lleYPQ ...

  7. python操作文件案例二则

    前言 python 对于文件及文件夹的操作. 涉及到 遍历文件夹下所有文件 ,文件的读写和操作 等等. 代码一 作用:查找文件夹下(包括子文件夹)下所有文件的名字,找出 名字中含有中文或者空格的文件 ...

  8. 总结一下今天做的unity面试题(一):刚体的点击事件

    按照需求,由于要模拟丧尸被击中的效果,不能使用CharactorControll组件,只能使用rigidbody组件. 首先在场景上摆好僵尸和相机的位置,这里就不给相机加脚本了,直接固定住. 然后给丧 ...

  9. Promise对象

    1.Promise思想:每一个异步任务立刻返回一个Promise对象,由于是立刻返回,所以可以采用同步操作的流程.这个Promises对象有一个then方法,允许指定回调函数,在异步任务完成后调用. ...

  10. android appwigt

    package com.example.test1; import android.os.Bundle; import android.app.Activity; import android.con ...