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 自定义类型方法小结
Mar 02 Javascript
js二维数组排序的简单示例代码
Jan 24 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
Jun 17 Javascript
javascript定义类和类的实现实例详解
Dec 01 Javascript
js实现内容显示并使用json传输数据
Mar 16 Javascript
基于JavaScript实现右键菜单和拖拽功能
Nov 28 Javascript
基于jquery实现多级菜单效果
Jul 25 jQuery
vue的安装及element组件的安装方法
Mar 09 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
Jul 19 Javascript
详解webpack自定义loader初探
Aug 29 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
Oct 25 Javascript
在vue中使用Echarts画曲线图的示例
Oct 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
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
模板引擎正则表达式调试小技巧
2011/07/20 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
connect中间件session、cookie的使用方法分享
2014/06/17 Javascript
深入理解javascript变量声明
2014/11/20 Javascript
javascript函数特点实例分析
2015/05/14 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
Bootstrap 3 进度条的实现
2017/02/22 Javascript
关于jQuery里prev()的简单操作代码
2017/10/27 jQuery
详解Vue中watch的高级用法
2018/05/02 Javascript
jQuery基于Ajax实现读取XML数据功能示例
2018/05/31 jQuery
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
通过扫小程序码实现网站登陆功能
2019/08/22 Javascript
微信小程序 数据缓存实现方法详解
2019/08/26 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
Python2.x中文乱码问题解决方法
2015/06/02 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
2018/04/20 Python
Python读取YUV文件,并显示的方法
2018/12/04 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
2013/04/24 HTML / CSS
技能竞赛活动方案
2014/02/21 职场文书
端午节演讲稿
2014/05/23 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
通知范文怎么写
2015/04/16 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
污染环境建议书
2015/09/14 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
创业计划书之奶茶店开店方案范本!
2019/08/06 职场文书
nginx搭建图片服务器的过程详解(root和alias的区别)
2021/03/31 Servers
Python实现简繁体转换
2021/06/07 Python
java版 简单三子棋游戏
2022/05/04 Java/Android