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 相关文章推荐
实用的Jquery选项卡TAB示例代码
Aug 28 Javascript
JavaScript中的变量定义与储存介绍
Dec 31 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
Sep 15 Javascript
零基础轻松学JavaScript闭包
Dec 30 Javascript
JavaScript用JSONP跨域请求数据实例详解
Jan 06 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
Jan 22 Javascript
javascript中replace使用方法总结
Mar 01 Javascript
js中el表达式的使用和非空判断方法
Mar 28 Javascript
JavaScript实现简单音乐播放器
Apr 17 Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
Jan 18 Javascript
Js跳出两级循环方法代码实例
Sep 22 Javascript
如何在vue中使用video.js播放m3u8格式的视频
Feb 01 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
PHP将两个关联数组合并函数提高函数效率
2014/03/18 PHP
php按单词截取字符串的方法
2015/04/07 PHP
简单谈谈favicon
2015/06/10 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
理解Javascript_06_理解对象的创建过程
2010/10/15 Javascript
js控制当再次点击按钮时的间隔时间
2014/06/03 Javascript
jQuery实现内容定时切换效果完整实例
2016/04/06 Javascript
javascript 的变量、作用域和内存问题
2017/04/19 Javascript
jQuery实现动态删除LI的方法
2017/05/30 jQuery
vuejs实现本地数据的筛选分页功能思路详解
2017/11/15 Javascript
详解ES6通过WeakMap解决内存泄漏问题
2018/03/09 Javascript
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
详解Python之unittest单元测试代码
2018/01/24 Python
pandas修改DataFrame列名的方法
2018/04/08 Python
Python if语句知识点用法总结
2018/06/10 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
python实现简易数码时钟
2021/02/19 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
Python count函数使用方法实例解析
2020/03/23 Python
python实现文法左递归的消除方法
2020/05/22 Python
如何从csv文件构建Tensorflow的数据集
2020/09/21 Python
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
女性时尚在线:IVRose
2019/02/23 全球购物
Sony C++笔试题
2013/03/10 面试题
活动邀请函范文
2014/01/19 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
学校班班通实施方案
2014/06/11 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
八一建军节慰问信
2015/02/14 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
三严三实·严以修身心得体会
2016/01/15 职场文书
python基础之文件操作
2021/10/24 Python