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 相关文章推荐
JavaScript面向对象之体会[总结]
Nov 13 Javascript
js 数组克隆方法 小结
Mar 20 Javascript
jquery解决图片路径不存在执行替换路径
Feb 06 Javascript
window.returnValue使用方法示例介绍
Jul 03 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
JQuery导航菜单选择特效
Apr 11 Javascript
AngularJS模板加载用法详解
Nov 04 Javascript
jQuery实现广告条滚动效果
Aug 22 jQuery
Vue学习笔记之表单输入控件绑定
Sep 05 Javascript
BACKBONE.JS 简单入门范例
Oct 17 Javascript
Angular5给组件本身的标签添加样式class的方法
Apr 07 Javascript
vue 兄弟组件的信息传递的方法实例详解
Aug 30 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开发大型项目的一点经验
2006/10/09 PHP
将php数组输出html表格的方法
2014/02/24 PHP
php单例模式实现方法分析
2015/03/14 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
PHP中大括号'{}'用法实例总结
2017/02/08 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
在JavaScript应用中实现延迟加载的方法
2015/06/25 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
解决jquery有正确返回值但不执行success函数的问题
2018/08/20 jQuery
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
python实现异步回调机制代码分享
2014/01/10 Python
简单介绍Python中的几种数据类型
2016/01/02 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
python爬取指定微信公众号文章
2018/12/20 Python
kafka-python批量发送数据的实例
2018/12/27 Python
pandas中的series数据类型详解
2019/07/06 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
2020/03/06 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
2020/09/28 Python
德国苹果商店:MacTrade
2020/05/18 全球购物
群众路线问题查摆对照检查材料
2014/10/04 职场文书
县人大领导班子四风对照检查材料思想汇报
2014/10/09 职场文书
2014年党小组工作总结
2014/12/20 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
Python 键盘事件详解
2021/11/11 Python