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 相关文章推荐
prototype 源码中文说明之 prototype.js
Sep 22 Javascript
jQuery 源码分析笔记(4) Ready函数
Jun 02 Javascript
HTML中的setCapture和releaseCapture使用介绍
Mar 21 Javascript
Bootstrap3 多选和单选框(checkbox)
Dec 29 Javascript
angular分页指令操作
Jan 09 Javascript
jquery实现超简单的瀑布流布局【推荐】
Mar 08 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
Sep 10 jQuery
微信小程序 页面滑动事件的实例详解
Oct 12 Javascript
JS实现百度搜索接口及链接功能实例代码
Feb 02 Javascript
AngularJS发送异步Get/Post请求方法
Aug 13 Javascript
vue项目中使用Svg的方法
Oct 24 Javascript
vue项目前端知识点整理【收藏】
May 13 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
PHP学习笔记之数组篇
2011/06/28 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
php生成html文件方法总结
2014/12/01 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
2016/11/25 PHP
JavaScript中的其他对象
2008/01/16 Javascript
$.ajax json数据传递方法
2008/11/19 Javascript
js渐变显示渐变消失示例代码
2013/08/01 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
jQuery自动添加表单项的方法
2015/07/13 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
js实现文字闪烁特效的方法
2015/12/17 Javascript
js实现网页图片延时加载 提升网页打开速度
2016/01/26 Javascript
Bootstrap超大屏幕的实现代码
2017/03/22 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
Python3遍历目录树实现方法
2015/05/22 Python
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
wxPython:python首选的GUI库实例分享
2019/10/05 Python
基于Tensorflow使用CPU而不用GPU问题的解决
2020/02/07 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
The Hut德国站点:时装、家居用品、美容等
2016/09/23 全球购物
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
学生档案自我鉴定
2013/10/07 职场文书
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
物流专员岗位职责
2014/02/17 职场文书
党员岗位承诺口号大全
2014/03/28 职场文书
小摄影师教学反思
2014/04/27 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
2019最新公司租房合同(例文)
2019/07/18 职场文书