Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 精品国产第一国产综合精品,日本福利片国产午夜久久,91高清免费视频

          整合營(yíng)銷(xiāo)服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          可視化的 JS:動(dòng)態(tài)圖演示 - 事件循環(huán) Event Loop的過(guò)程


          文地址:https://dev.to/lydiahallie/javascript-visualized-event-loop-3dif

          原文作者:Lydia Hallie

          譯者:夜盡天明

          轉(zhuǎn)發(fā)鏈接:https://mp.weixin.qq.com/s/uPgvp1wULIck2yKAqNLeLQ

          HTML基本結(jié)構(gòu):
          <form class="layui-form" action="" id="feedBackForm">
           <div class="layui-form-item">
           <!--表單內(nèi)容-->
           </div>
           <!--圖片上傳-->
           <div class="layui-upload feedback-padding">
           <button type="button" class="layui-btn" id="selectImg">選擇圖片</button>
           <input type="text" class="layui-hide" name="">
           <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
           預(yù)覽圖:
           <div id="previewImg" class="layui-clear feedback-overflow">
           </div>
           </blockquote>
           </div>
           <div class="layui-form-item">
           <div class="feedback-block">
           <button id="submitBtn" class="layui-btn" lay-submit="" lay-filter="demo1">立即提交</button>
           </div>
           </div>
           </form>
          
          JavaScript基本內(nèi)容:
          1、多圖片上傳、預(yù)覽
           //多圖片上傳
           uploadList = upload.render({
           elem: '#selectImg'
           ,url: "/add.do"
           ,accept: 'images'
           ,acceptMime: 'image/*'
           ,method: 'post'
           ,multiple: true
           ,auto: false
           ,choose: function(obj){
           files = obj.pushFile(); //將每次選擇的文件追加到文件隊(duì)列
           //圖像預(yù)覽,如果是多文件,會(huì)逐個(gè)添加。(不支持ie8/9)
           obj.preview(function(index, file, result){
           var imgBox = document.createElement("div");//預(yù)覽圖、刪除預(yù)覽圖按鈕容器
           var imgDelete = document.createElement("div");//刪除預(yù)覽圖按鈕
           var imgobj = new Image(); //創(chuàng)建新img對(duì)象
           imgBox.style.float = 'left';
           imgBox.style.position = 'relative';
           imgDelete.setAttribute('class',"feedback-delete-btn layui-icon layui-icon-close-fill");
           imgDelete.setAttribute ('title','刪除');
           imgobj.src = result; //指定數(shù)據(jù)源
           imgobj['layer-src'] = result;
           imgobj.alt = file.name;
           imgobj.className = 'layui-upload-img';
           imgobj['layer-index'] = index;
           imgBox.appendChild(imgobj);
           imgBox.appendChild(imgDelete);
           imgDelete.onclick = function () { // 為預(yù)覽圖的刪除按鈕綁定刪除事件
           delete files[index]; //刪除對(duì)應(yīng)的文件
           document.getElementById("previewImg").removeChild(imgBox);//從預(yù)覽區(qū)域移除
           uploadList.config.elem.next()[0].value = ''; //清空 input file 值,以免刪除后出現(xiàn)同名文件不可選
           }
           document.getElementById("previewImg").appendChild(imgBox); //添加到預(yù)覽區(qū)域
           //photos 圖片層
           layer.photos({//此處目前存在bug 導(dǎo)致單擊后無(wú)法在彈層中打開(kāi)預(yù)覽 下面會(huì)講解如何處理
           photos: '#previewImg'
           ,anim: 0
           });
           });
           }
           });
          
          2、提交
           //監(jiān)聽(tīng)提交
           form.on('submit(demo1)', function(data){
           var myForm = document.getElementById("feedBackForm");
           var formData = new FormData(myForm);
           //循環(huán) files(第一步choose回調(diào)中儲(chǔ)存的對(duì)象) 逐條插入到formData
           for (var i in files) {
           formData.append("files",files[i]);//此處的files為上傳接口參數(shù)名
           }
           $.ajax({
           url: "/add.do",
           type: "POST",
           data: formData,
           async: false,
           contentType: false,
           processData: false,
           error: function () {
           layer.msg('網(wǎng)絡(luò)超時(shí)',{icon:2});
           },
           success: function (data) {
           layer.msg('成功',{icon:1});
           }
           })
           return false;
           });
          
          3、步驟一中 layer.photos 重復(fù)調(diào)用,導(dǎo)致彈層預(yù)覽圖無(wú)法正常顯示處理:
          修改layer.js源碼 ,點(diǎn)擊事件綁定之前,先用off()進(jìn)行解綁,避免重復(fù)綁定,如下:
           loop || parent.off('click').on('click', options.img, function(){
           var othis = $(this), index = othis.attr('layer-index');
           layer.photos($.extend(options, {
           photos: {
           start: index,
           data: data,
           tab: options.tab
           },
           full: options.full
           }), true);
           pushData();
           })
          

          主站蜘蛛池模板: 精品爆乳一区二区三区无码av| 看电影来5566一区.二区| 亚洲爽爽一区二区三区| 99精品国产高清一区二区三区| 国产韩国精品一区二区三区久久| 国产av一区二区精品久久凹凸| 日韩人妻精品无码一区二区三区 | 国产精品自拍一区| 精品一区二区三区四区在线 | 亚洲一区二区三区夜色| 蜜桃视频一区二区三区| 91精品一区二区| 久久久久人妻精品一区| 国产AV午夜精品一区二区三区| 无码视频免费一区二三区| 日韩一区二区在线视频| 国产一区二区福利| 一区二区三区在线播放视频| 国产无人区一区二区三区| 国产一区二区三区影院| 国产一区二区精品| 国产免费一区二区视频| 丝袜人妻一区二区三区| 久久免费精品一区二区| 亚洲一区在线视频观看| 国产精品一区二区不卡| 无码人妻aⅴ一区二区三区| 日韩精品午夜视频一区二区三区| 日本精品无码一区二区三区久久久| 一区二区传媒有限公司| 国产成人精品无码一区二区老年人| 国产人妖在线观看一区二区| 国产免费播放一区二区| 久久国产精品最新一区| 国产精品久久久久久麻豆一区| 亚洲av无码片vr一区二区三区| 精品无码国产AV一区二区三区| 国产一区二区在线观看麻豆| 久久精品中文字幕一区| 亚洲国产日韩在线一区| 在线视频精品一区|