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之appendChild、insertBefore和insertAfter使用说明
Dec 30 Javascript
javascript验证身份证完全方法具体实现
Nov 18 Javascript
php的文件上传入门教程(实例讲解)
Apr 10 Javascript
javascript监听鼠标滚轮事件浅析
Jun 05 Javascript
js与jquery回车提交的方法
Feb 03 Javascript
jquery中JSON的解析方式
Mar 16 Javascript
Javascript实现飞动广告效果的方法
May 25 Javascript
对javascript继承的理解
Oct 11 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
Jun 15 Javascript
javascript递归函数定义和用法示例分析
Jul 22 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
Oct 20 Javascript
vue实现简易音乐播放器
Aug 14 Vue.js
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
比特率,大家看看这个就不用收音机音质去比MP3音质了
2021/03/01 无线电
php递归创建目录的方法
2015/02/02 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
php实现专业获取网站SEO信息类实例
2015/04/02 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
PHP对象实例化单例方法
2017/01/19 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
2020/05/25 PHP
jQuery表单获取和失去焦点输入框提示效果的实例代码
2013/08/01 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
jquery序列化表单以及回调函数的使用示例
2014/07/02 Javascript
jQuery实现流动虚线框的方法
2015/01/29 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
详解AngularJs ui-router 路由的简单介绍
2017/04/26 Javascript
JS库 Highlightjs 添加代码行号的实现代码
2017/09/13 Javascript
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
基于js实现数组相邻元素上移下移
2020/05/19 Javascript
python实现在字符串中查找子字符串的方法
2015/07/11 Python
Python中的日期时间处理详解
2016/11/17 Python
python实现图像识别功能
2018/01/29 Python
PyQt5实现下载进度条效果
2018/04/19 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
python 解决tqdm模块不能单行显示的问题
2020/02/19 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
2020/07/13 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
6种非常炫酷的CSS3按钮边框动画特效
2016/03/16 HTML / CSS
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
竞选班长自荐书范文
2014/03/09 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
星级党支部申报材料
2014/05/31 职场文书
迎国庆横幅标语
2014/10/08 职场文书
pytorch 如何使用batch训练lstm网络
2021/05/28 Python