layui实现多图片上传并限制上传的图片数量


Posted in Javascript onSeptember 26, 2019

废话不多说了,直接上代码吧!

//给图片添加删除
    function mouseChange() {
        $(document).on("mouseenter mouseleave", ".file-iteme", function (event) {
          if (event.type === "mouseenter") {
            //鼠标悬浮
            $(this).children(".info").fadeIn("fast");
            $(this).children(".handle").fadeIn("fast");
          } else if (event.type === "mouseleave") {
            //鼠标离开
            $(this).children(".info").hide();
            $(this).children(".handle").hide();
          }
        });
 
    }
    mouseChange();
 
  //json的length 
  function getJsonLength(jsonData){
      var jsonLength = 0;
      for(var item in jsonData){
        jsonLength++;
      }
      return jsonLength;
    }
 
    //多图片上传
    var ImgList = $('#uploader-list'),uploadListIns =upload.render({
      elem: '#chooseImg',
      url: $("#projectUrl").val()+ '/img/imgUpload.do',
      accept: 'images',
      acceptMime: 'image/jpg,image/png,image/jpeg',
      exts: 'jpg|png|jpeg',
      size: 1024,
      multiple: true,
      auto: true,
      choose: function(obj){
        var files = obj.pushFile(); //将每次选择的文件追加到文件队列
        var len = getJsonLength(files);
        //读取本地文件
        obj.preview(function (index, file, result) {
          if (parseInt(len)+parseInt(coachPicsArray.length)-count > 6){
            layer.msg("门店图片不能超过6张");
            //遍历
            $.each(files,function(_key){
              var key = _key;
              var value = files[_key];
              if(_key == index)
              { //删除
                delete files[_key];
              }
            });
          }else {
            var reader = new FileReader();
            reader.onload = function (e) {
              var image = new Image();
              image.onload = function () {
                var realWidth = image.width;
                var realHeight = image.height;
                var tr = $(['<div id="upload-' + index + '" class="file-iteme">' +
                '<div class="removeIcon handle"> <i class="layui-icon" style="color: white ;margin-right: 40%"></i></div>' +
                '<img style="color: white;width: 120px" "showBig(this)" src=' + result + ' id="img-' + index + '">' +
                '</div>'].join(''));
 
                //删除
                tr.find('.handle').on('click', function () {
                  $(this).parent().remove();
                  delete files[index]; //删除对应的文件
                  var value = $("#clubCoachPics").val().split(",");
                  var arr = [];
                  for( var i in value){
                    if (value[i] != $(this).next().data('value')){
                      arr.push(value[i]);
                    }
                  }
                  $("#clubCoachPics").val(arr.join(",")) ;
 
                });
                ImgList.append(tr);
 
              };
              image.src = result;
            };
            //正式读取文件
            reader.readAsDataURL(file);
          }
        });
      },
      before: function (obj) {
        layer.msg('图片上传中...', {
          icon: 16,
          shade: 0.01,
          time: 3000
        })
      },
      done: function (res, index, upload) {
        $("#img-"+ index + "").attr("data-value",res.imgUrl);
        if(res.code == 0){ //上传成功
          var imgUrl = $("#clubCoachPics").val();
          if(imgUrl==null||imgUrl==""){
            $("#clubCoachPics").val(res.imgUrl);
          }else{
            $("#clubCoachPics").val(imgUrl+","+res.imgUrl);
          }
          delete files[index]; //删除文件队列已经上传成功的文件
          return;
        };
 
      }
    });

以上这篇layui实现多图片上传并限制上传的图片数量就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript下查找父节点的简单方法
Aug 13 Javascript
javascript中mouseover、mouseout使用详解
Jul 19 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
Aug 21 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
Jan 24 Javascript
学习Bootstrap滚动监听 附调用方法
Jul 02 Javascript
js前端面试题及答案整理(一)
Aug 26 Javascript
Bootstrap简单表单显示学习笔记
Nov 15 Javascript
jquery实现页面加载效果
Feb 21 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
Jul 09 Javascript
vue实现点击追加选中样式效果
Nov 01 Javascript
JS实现吸顶特效
Jan 08 Javascript
解决vant title-active-color与title-inactive-color不生效问题
Nov 03 Javascript
layui 阻止图片上传的实例(before方法)
Sep 26 #Javascript
layui 上传图片 返回图片地址的方法
Sep 26 #Javascript
vue仿ios列表左划删除
Sep 26 #Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
Sep 26 #Javascript
vue实现百度搜索功能
Dec 28 #Javascript
vue+element搭建后台小总结 el-dropdown下拉功能
Apr 10 #Javascript
Vue 中使用富文本编译器wangEditor3的方法
Sep 26 #Javascript
You might like
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
PHP中static关键字原理的学习研究分析
2011/07/18 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
一个简单安全的PHP验证码类 附调用方法
2016/06/24 PHP
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
JS面向对象编程 for Cookie
2010/09/19 Javascript
基于jquery的loading 加载提示效果实现代码
2011/09/01 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
javascript实现2016新年版日历
2016/01/25 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
微信小程序 下拉菜单的实现
2017/04/06 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
python爬取网站数据保存使用的方法
2013/11/20 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
Python matplotlib的使用并自定义colormap的方法
2018/12/13 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
如何利用python给图片添加半透明水印
2019/09/06 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
放飞中国梦演讲稿
2014/04/23 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书
参加招聘会后的感想
2015/08/10 职场文书
卫生主题班会
2015/08/14 职场文书
小学英语听课心得体会
2016/01/14 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python
《废话连篇——致新手》——chinapizza
2022/04/05 无线电