国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

Javascript實(shí)現(xiàn)鼠標(biāo)框選操作 不是點(diǎn)擊選取

2019-11-20 10:15:57
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例為大家分享了Javascript實(shí)現(xiàn)鼠標(biāo)框選操作,絕不是點(diǎn)擊選取,供大家參考,具體內(nèi)容如下

效果圖:

代碼:

<html> <head></head> <style> body{padding:100px;} .fileDiv{float:left;width:100px;height:100px;text-align:center;line-height:100px;font-size:12px;border:1px solid #ccc;margin-right:10px;margin-bottom:10px;} .seled{border:1px solid red;background-color:#D6DFF7;} </style> <script type="text/javascript">  (function() {   document.onmousedown = function() {      var selList = [];     var fileNodes = document.getElementsByTagName("div");     for ( var i = 0; i < fileNodes.length; i++) {       if (fileNodes[i].className.indexOf("fileDiv") != -1) {         fileNodes[i].className = "fileDiv";         selList.push(fileNodes[i]);       }     }      var isSelect = true;     var evt = window.event || arguments[0];     var startX = (evt.x || evt.clientX);     var startY = (evt.y || evt.clientY);     var selDiv = document.createElement("div");     selDiv.style.cssText = "position:absolute;width:0px;height:0px;font-size:0px;margin:0px;padding:0px;border:1px dashed #0099FF;background-color:#C3D5ED;z-index:1000;filter:alpha(opacity:60);opacity:0.6;display:none;";     selDiv.id = "selectDiv";     document.body.appendChild(selDiv);      selDiv.style.left = startX + "px";     selDiv.style.top = startY + "px";      var _x = null;     var _y = null;     clearEventBubble(evt);      document.onmousemove = function() {       evt = window.event || arguments[0];       if (isSelect) {         if (selDiv.style.display == "none") {           selDiv.style.display = "";         }         _x = (evt.x || evt.clientX);         _y = (evt.y || evt.clientY);         selDiv.style.left = Math.min(_x, startX) + "px";         selDiv.style.top = Math.min(_y, startY) + "px";         selDiv.style.width = Math.abs(_x - startX) + "px";         selDiv.style.height = Math.abs(_y - startY) + "px";          // ---------------- 關(guān)鍵算法 ---------------------          var _l = selDiv.offsetLeft, _t = selDiv.offsetTop;         var _w = selDiv.offsetWidth, _h = selDiv.offsetHeight;         for ( var i = 0; i < selList.length; i++) {           var sl = selList[i].offsetWidth + selList[i].offsetLeft;           var st = selList[i].offsetHeight + selList[i].offsetTop;           if (sl > _l && st > _t && selList[i].offsetLeft < _l + _w && selList[i].offsetTop < _t + _h) {             if (selList[i].className.indexOf("seled") == -1) {               selList[i].className = selList[i].className + " seled";             }           } else {             if (selList[i].className.indexOf("seled") != -1) {               selList[i].className = "fileDiv";             }           }         }        }       clearEventBubble(evt);     }      document.onmouseup = function() {       isSelect = false;       if (selDiv) {         document.body.removeChild(selDiv);         showSelDiv(selList);       }       selList = null, _x = null, _y = null, selDiv = null, startX = null, startY = null, evt = null;     }   } })(); function clearEventBubble(evt) {   if (evt.stopPropagation)     evt.stopPropagation();   else     evt.cancelBubble = true;   if (evt.preventDefault)     evt.preventDefault();   else     evt.returnValue = false; } function showSelDiv(arr) {   var count = 0;   var selInfo = "";   for ( var i = 0; i < arr.length; i++) {     if (arr[i].className.indexOf("seled") != -1) {       count++;       selInfo += arr[i].innerHTML + "/n";     }   }   alert("共選擇 " + count + " 個(gè)文件,分別是:/n" + selInfo); } </script> <body>   <div class="fileDiv">file1</div>   <div class="fileDiv">file2</div>   <div class="fileDiv">file3</div>   <div class="fileDiv">file4</div>   <div class="fileDiv">file5</div>   <div class="fileDiv">file6</div>   <div class="fileDiv">file7</div>   <div class="fileDiv">file8</div>   <div class="fileDiv">file9</div>  </body> </html> 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汪清县| 会泽县| 囊谦县| 三原县| 平阳县| 海盐县| 论坛| 略阳县| 内乡县| 诸暨市| 孝感市| 定襄县| 高唐县| 威远县| 乾安县| 滕州市| 平邑县| 东安县| 吉首市| 胶南市| 马山县| 沅陵县| 长宁区| 鸡西市| 汉川市| 陇川县| 崇阳县| 铅山县| 正镶白旗| 西安市| 仙游县| 鄂尔多斯市| 旺苍县| 河北区| 延津县| 上林县| 高阳县| 商南县| 建瓯市| 阿尔山市| 尉犁县|