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 相关文章推荐
JS函数实现动态添加CSS样式表文件
Dec 15 Javascript
Javascript实现关联数据(Linked Data)查询及注意细节
Feb 22 Javascript
Js,alert出现乱码问题的解决方法
Jun 19 Javascript
jQuery中filter()和find()的区别深入了解
Sep 25 Javascript
基于jQuery实现文本框缩放以及上下移动功能
Nov 24 Javascript
jquery实现标签上移、下移、置顶
Apr 26 Javascript
浅析JS原型继承与类的继承
Apr 07 Javascript
js仿微博动态栏功能
Feb 22 Javascript
JavaScript中正则表达式判断匹配规则及常用方法
Aug 03 Javascript
vue和webpack项目构建过程常用的npm命令详解
Jun 15 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
Jul 23 Javascript
JS实现简单贪吃蛇小游戏
Oct 28 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
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
PHP校验ISBN码的函数代码
2011/01/17 PHP
thinkphp实现上一篇与下一篇的方法
2014/12/08 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
php常用图片处理类
2016/03/16 PHP
Laravel日志用法详解
2016/10/09 PHP
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
jquery.validate的使用说明介绍
2013/11/12 Javascript
Jquery的each里用return true或false代替break或continue
2014/05/21 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
Ionic如何实现下拉刷新与上拉加载功能
2016/06/03 Javascript
Bootstrap免费字体和图标网站(值得收藏)
2017/03/16 Javascript
JavaScript使用readAsDataURL读取图像文件
2017/05/10 Javascript
Node.js 如何利用异步提升任务处理速度
2019/01/07 Javascript
JS实现根据数组对象的某一属性排序操作示例
2019/01/14 Javascript
ES6基础之默认参数值
2019/02/21 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
React路由鉴权的实现方法
2019/09/05 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
2019/09/26 Javascript
js的Object.assign用法示例分析
2020/03/05 Javascript
js实现时钟定时器
2020/03/26 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
基于postman获取动态数据过程详解
2020/09/08 Javascript
详解Python中expandtabs()方法的使用
2015/05/18 Python
python中模块的__all__属性详解
2017/10/26 Python
解决Python plt.savefig 保存图片时一片空白的问题
2019/01/10 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
Pytorch高阶OP操作where,gather原理
2020/04/30 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
Vita Fede官网:在意大利手工制作,在纽约市设计
2019/10/25 全球购物
新春文艺演出主持词
2014/03/27 职场文书
2016新年慰问信范文
2015/03/25 职场文书
介绍信范文大全
2015/05/07 职场文书
MySQL sql_mode的使用详解
2021/05/08 MySQL