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中创建对象的几种方法总结
Nov 01 Javascript
javascript事件模型实例分析
Jan 30 Javascript
javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
Apr 01 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
May 16 Javascript
javascript实现添加附件功能的方法
Nov 18 Javascript
AngularJS初始化静态模板详解
Jan 14 Javascript
Bootstrap树形组件jqTree的简单封装
Jan 25 Javascript
ionic开发中点击input时键盘自动弹出
Dec 23 Javascript
微信运维交互机器人的示例代码
Nov 12 Javascript
JavaScript实现小球沿正弦曲线运动
Sep 07 Javascript
详解vue 兼容IE报错解决方案
Dec 29 Javascript
AJAX在JQuery中的应用详解
Jan 30 jQuery
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
php生成xml简单实例代码
2009/12/16 PHP
php array_walk() 数组函数
2011/07/12 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
2017/06/11 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
PHP代码加密的方法总结
2020/03/13 PHP
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
javascript限制文本框输入值类型的方法
2015/05/07 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
Bootstrap表单使用方法详解
2017/02/17 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
axios取消请求的实践记录分享
2018/09/26 Javascript
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python使用Socket(Https)Post登录百度的实现代码
2012/05/18 Python
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
python3调用R的示例代码
2018/02/23 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
2018/05/10 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
用Python写一个自动木马程序
2019/09/17 Python
CSS实现的一闪而过的图片闪光效果
2014/04/23 HTML / CSS
挑战杯创业计划书的写作指南
2014/01/07 职场文书
迟到检讨书500字
2014/02/05 职场文书
县级领导干部开展党的群众路线教育实践活动工作汇报
2014/10/25 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书
培训心得体会怎么写
2016/01/25 职场文书
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python
React 高阶组件HOC用法归纳
2021/06/13 Javascript
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle