JS实现多张图片预览同步上传功能


Posted in Javascript onJune 23, 2017

废话不多说了,直接给大家贴代码了,具体代码如下所示:

/**
 * Created by liujing on 2017/5/10.
 */
$(document).ready(function($) {
  function changef(which,bulk,name_n){
    var bulka = bulk;
    var thisid = which.attr("id");
    var f = which.prop ('files')[0];
    var filename = f.name;
    var mime = filename.toLowerCase().substr(filename.lastIndexOf("."));
    var liid = $("#"+thisid).closest("li").attr("id");
    var liidb = parseInt(liid)+1;
    if(mime==".jpg" || mime==".png"){
      var src = window.URL.createObjectURL(f);
      var name = $("#logo"+liid).val().split("\\").pop();
      $('#logotips'+liid).css({"background":'url('+src+')','backgroundSize':100+'%'});
      $('#up_flower'+liid).empty().append(name);
      $('#'+liid).append('<a class="edit_text">✖</a>');
      bulka.append('<li class="uploading" id="'+liidb+'"><a class="a_a" id="logotips'+liidb+'"><input class="input_hide logo'+liidb+'" type="file" name="'+name_n+'" id="logo'+liidb+'"></a></li>');
      $('#logotips'+liidb).css({"background":'url("../../img/c_up.png")','backgroundSize':100+'%'});
    }
    $('.logo'+liid).addClass("newc"+liid);
    $('.newc'+liid).removeClass("logo"+liid);
    $('.newc'+liid).on('change',function(){
      var files = $(this).prop('files')[0];
      var srcb = window.URL.createObjectURL(files);
      var liid = $("#"+thisid).closest("li").attr("id");
      var liidb = parseInt(liid)+1;
      var name = $("#logo"+liid).val().split("\\").pop();
      $('#logotips'+liid).css({"background":'url('+srcb+')','backgroundSize':100+'%'});
      $('#up_flower'+liid).empty().append(name);
    })
    $('.edit_text').on('click',function(){
      $(this).parent().remove();
    })
  } 
  function changelast(which ,bulk){
    var bulka = bulk;
    var thisid = which.attr("id");
    var f = which.prop ('files')[0];
    var filename = f.name;
    var mime = filename.toLowerCase().substr(filename.lastIndexOf("."));
    var liid = $("#"+thisid).closest("li").attr("id");
    var liidb = parseInt(liid)+1;
    if(mime==".jpg" || mime==".png"){
      var src = window.URL.createObjectURL(f);
      var name = $("#logo"+liid).val().split("\\").pop();
      $('#logotips'+liid).css({"background":'url('+src+')','backgroundSize':100+'%'});
      $('#up_flower'+liid).empty().append(name);
      $('#'+liid).append('<a class="edit_text">✖</a>');
    }
    $('.logo'+liid).addClass("newc"+liid);
    $('.newc'+liid).removeClass("logo"+liid);
    $('.newc'+liid).on('change',function(){
      var files = $(this).prop('files')[0];
      var srcb = window.URL.createObjectURL(files);
      var liid = $("#"+thisid).closest("li").attr("id");
      var liidb = parseInt(liid)+1;
      var name = $("#logo"+liid).val().split("\\").pop();
      $('#logotips'+liid).css({"background":'url('+srcb+')','backgroundSize':100+'%'});
      $('#up_flower'+liid).empty().append(name);
    })
    $('.edit_text').on('click',function(){
      $(this).parent().remove();
    })
  } 
    $(".logo1").one("change",function(){
      that = $(this); var bulk = $("#add_beo"); var name = $(this).attr('name'); changef(that,bulk,name);
    });
    $("#add_beo").one("change",".logo2",function(){
      that = $(this); var bulk = $("#add_beo"); var name = $(this).attr('name'); changef(that,bulk,name);
    });
    $("#add_beo").one("change",".logo3",function(){
      that = $(this); var bulk = $("#add_beo"); var name = $(this).attr('name'); changef(that,bulk,name);
    });
    $("#add_beo").one("change",".logo4",function(){
      that = $(this); var bulk = $("#add_beo"); var name = $(this).attr('name'); changef(that,bulk,name);
    });
    $("#add_beo").one("change",".logo5",function(){
      that = $(this); var bulk = $("#add_beo"); changelast(that , bulk);
    });
});

以上所述是小编给大家介绍的JS实现多张图片预览同步上传功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
在JQuery dialog里的服务器控件 事件失效问题
Dec 08 Javascript
Jquery命名冲突解决的五种方案分享
Mar 16 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
Oct 11 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
Nov 07 Javascript
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
Nov 14 Javascript
js创建表单元素并使用submit进行提交
Aug 14 Javascript
jQuery插件slider实现拖动滑块选取价格范围
Apr 30 Javascript
基于OL2实现百度地图ABCD marker的效果
Oct 01 Javascript
详解js的异步编程技术的方法
Feb 09 Javascript
微信小程序实现的一键连接wifi功能示例
Apr 24 Javascript
js 递归json树实现根据子id查父id的方法分析
Nov 08 Javascript
js数据类型转换与流程控制操作实例分析
Dec 18 Javascript
Vue组件化通讯的实例代码
Jun 23 #Javascript
JavaScript字符串检索字符的方法
Jun 23 #Javascript
Angular2 组件通信的实例代码
Jun 23 #Javascript
js实现文字列表无缝滚动效果
Jun 23 #Javascript
jquery图片放大镜效果
Jun 23 #jQuery
Avalonjs双向数据绑定与监听的实例代码
Jun 23 #Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
Jun 23 #Javascript
You might like
php防止站外远程提交表单的方法
2014/10/20 PHP
thinkphp修改配置进入默认首页的方法
2017/02/07 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
PHP $O00OO0=urldecode &amp; eval 解密,记一次商业源码的去后门
2020/09/13 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
2010/09/03 Javascript
非常漂亮的相册集 使用jquery制作相册集
2016/04/28 Javascript
jquery点击改变class并toggle的实现代码
2016/05/15 Javascript
jQuery基于排序功能实现上移、下移的方法
2016/11/26 Javascript
Vue2.0表单校验组件vee-validate的使用详解
2017/05/02 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
基于jQuery Easyui实现登陆框界面
2017/07/10 jQuery
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
详解node+express+ejs+bootstrap构建项目
2017/09/27 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
vue监听对象及对象属性问题
2018/08/20 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
vue样式穿透 ::v-deep的具体使用
2020/06/04 Javascript
JavaScript实现网页留言板功能
2020/11/23 Javascript
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
Python用threading实现多线程详解
2017/02/03 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
django的model操作汇整详解
2019/07/26 Python
Python Web框架之Django框架Form组件用法详解
2019/08/16 Python
什么是python的列表推导式
2020/05/26 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
python爬取youtube视频的示例代码
2021/03/03 Python
手机配件第一品牌:ZAGG
2017/05/28 全球购物
车库门开启器、遥控器和零件:Chamberlain
2019/04/09 全球购物
小学语文国培感言
2014/03/04 职场文书
班主任寄语2015
2015/02/26 职场文书
开学典礼校长致辞
2015/07/29 职场文书
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis