layui实现多图片上传并限制上传的图片数量

 更新时间:2019年09月26日 15:42:15   作者:十三月呀  
今天小编就为大家分享一篇layui实现多图片上传并限制上传的图片数量,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

废话不多说了,直接上代码吧!

    //给图片添加删除
    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%">&#xe640;</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实现多图片上传并限制上传的图片数量就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 购物车前端开发(jQuery和bootstrap3)

    购物车前端开发(jQuery和bootstrap3)

    针对购物车的操作,进行产品数量的增加减少,删除购物车中产品项,本文使用JQuery1.11和bootstrap3进行购物车开发,感兴趣的小伙伴们
    2016-08-08
  • ES6入门教程之变量的解构赋值详解

    ES6入门教程之变量的解构赋值详解

    这篇文章主要给大家介绍了关于ES6入门教程之变量的解构赋值的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ES6具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • JavaScript中数组常见操作技巧

    JavaScript中数组常见操作技巧

    下面介绍JavaScript中的数组对象遍历、读写、排序等操作以及与数组相关的字符串处理操作,需要的的朋友参考下吧
    2017-09-09
  • 浅谈JavaScript中的String对象常用方法

    浅谈JavaScript中的String对象常用方法

    这篇文章主要介绍了JavaScript中的String对象常用方法,非常简单实用,有需要的小伙伴参考下
    2015-02-02
  • JS脚本实现定时到网站上签到/签退功能

    JS脚本实现定时到网站上签到/签退功能

    这篇文章主要介绍了JS脚本实现定时到网站上签到/签退功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • JavaScript 最佳实践:帮你提升代码质量

    JavaScript 最佳实践:帮你提升代码质量

    在本篇教程中,我将指出一些重要的 JavaScript 最佳实践,让你不必去用另外一种艰难的方式来了解它们。准备好去升级你的代码吧
    2016-12-12
  • 原生JS实现跑马灯效果

    原生JS实现跑马灯效果

    本文主要分享了原生JS实现跑马灯效果的示例代码。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • 小程序实现订单评价和商家评价

    小程序实现订单评价和商家评价

    这篇文章主要为大家详细介绍了小程序实现订单评价和商家评价功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • BootStrap表单控件之文本域textarea

    BootStrap表单控件之文本域textarea

    这篇文章主要介绍了BootStrap表单控件之文本域textarea,需要的朋友可以参考下
    2017-05-05
  • js实现下拉列表选中某个值的方法(3种方法)

    js实现下拉列表选中某个值的方法(3种方法)

    这篇文章主要介绍了js实现下拉列表选中某个值的方法,涉及JavaScript针对select下拉列表选择操作的相关技巧,需要的朋友可以参考下
    2015-12-12

最新评论