<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

        用js實(shí)現(xiàn)table單元格高寬調(diào)整,兼容合并單元格(兼容IE6、7、8、FF)實(shí)例_javascript技巧

        來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 21:10:22
        文檔

        用js實(shí)現(xiàn)table單元格高寬調(diào)整,兼容合并單元格(兼容IE6、7、8、FF)實(shí)例_javascript技巧

        用js實(shí)現(xiàn)table單元格高寬調(diào)整,兼容合并單元格(兼容IE6、7、8、FF)實(shí)例_javascript技巧:先上效果圖: CSS: 代碼如下:body{margin:0px;padding:0px;-moz-user-select:none;cursor:default;} .tabEditDiv{position:absolute;width:15px;height:15px;cursor:pointer;}.seltab{position:abso
        推薦度:
        導(dǎo)讀用js實(shí)現(xiàn)table單元格高寬調(diào)整,兼容合并單元格(兼容IE6、7、8、FF)實(shí)例_javascript技巧:先上效果圖: CSS: 代碼如下:body{margin:0px;padding:0px;-moz-user-select:none;cursor:default;} .tabEditDiv{position:absolute;width:15px;height:15px;cursor:pointer;}.seltab{position:abso

        先上效果圖:

        CSS:
        代碼如下:
        body{margin:0px;padding:0px;-moz-user-select:none;cursor:default;}

        .tabEditDiv{position:absolute;width:15px;height:15px;cursor:pointer;}
        .seltab{position:absolute;width:15px;height:15px;cursor:pointer;background:url(images/seltab.gif) no-repeat;}
        .splitx{overflow:hidden;position:absolute;height:3px;cursor:row-resize;background:red !important;filter:Alpha(opacity=10);-moz-opacity:0.1;opacity: 0.1; }
        .splity{overflow:hidden;position:absolute;width:3px;cursor:col-resize;background:red !important;filter:Alpha(opacity=10);-moz-opacity:0.1;opacity: 0.1;}
        #tabletitle{font-weight:bold;font-size:18px;height:30px;width:800px;margin:0 auto;text-align:center;font-family:宋體;line-height:30px;}
        #tabletitle input{width:100%;border:0px;height:28px;line-height:30px;text-align:center;font-weight:bold;font-size:18px;font-family:宋體;}
        .finelinetable{border-right:1px solid #000;border-top:1px solid #000;border-collapse:collapse;font-size:13px;width:800px;margin:0 auto;}
        .finelinetable td{border-left:1px solid #000;border-bottom:1px solid #000;height:25px;}

        HTML:
        代碼如下:

        表格標(biāo)題


































































        1
        2 3 4 5 6 7
        8 9 10 11 12 13
        14 15 16 17 18


        JS:
        代碼如下:
        //注釋:獲取對(duì)象.示例:$("objectId") 等同于 document.getElementById("objectId")
        if (typeof $ != "function") { var $ = function (ids) { return document.getElementById(ids) }; }
        //注釋:獲取坐標(biāo),parentNode最后節(jié)點(diǎn).示例:absPos(object).x
        function absPos(_node, parentNode) { var x = y = 0; var node = _node; do { if (parentNode && node == parentNode) { break; } x += node.offsetLeft; y += node.offsetTop; } while (node = node.offsetParent); node = _node; return { 'x': x, 'y': y }; }
        function addEvent(object, event, func) { if (object.addEventListener) { /* W3C方法(DOM方法)下面語句中的false意思是用于冒泡階段,若是true則是用于捕獲階段(IE不支持捕獲),所以這里用false是一方面的原因是為了統(tǒng)一 */object.addEventListener(event, func, false); return true; } else if (object.attachEvent) { /* MSIE方法(IE方法) */object['e' + event + func] = func; object[event + func] = function () { object['e' + event + func](window.event); }; object.attachEvent('on' + event, object[event + func]); return true; } /*如兩種方法都不具備則返回false */return false; }
        //注釋:判斷是否是對(duì)象內(nèi)子節(jié)點(diǎn)觸發(fā)的onmouseover和onmouseout.示例:e = e || event;if (isMouseLeaveOrEnter(e, obj)) {}
        function isMouseLeaveOrEnter(e, handler) { if (e.type != 'mouseout' && e.type != 'mouseover') return false; var reltg = e.relatedTarget ? e.relatedTarget : e.type == 'mouseout' ? e.toElement : e.fromElement; while (reltg && reltg != handler) reltg = reltg.parentNode; return (reltg != handler); }

        var table = $("mainTable");
        var tabEditDiv; //覆蓋在table上的DIV
        var cellHide = [];//補(bǔ)充的rowspan,cellspan的格子
        var moveMode = "";//鼠標(biāo)移動(dòng)模式
        var moveArgs = []; //移動(dòng)模式參數(shù)

        document.onselectstart = function(){return false;};
        addEvent(window,"resize",function(){loadTable();});

        $("tabletitle").ondblclick = function(){
        if(this.getElementsByTagName("input").length > 0){return;}
        this.innerHTML = "";
        var input = this.getElementsByTagName("input")[0];
        var _this = this;
        input.focus();
        input.onblur = function(){_this.innerHTML = this.value;}
        input.onkeydown = function (e) { var key = window.event ? window.event.keyCode : e.which; if (key == 13) this.blur(); };
        }

        function loadTable(){
        var tabPos = absPos(table);
        if(!tabEditDiv){
        tabEditDiv = document.createElement("div");
        document.body.appendChild(tabEditDiv);
        }
        tabEditDiv.style.cssText = "left:" + (tabPos.x - 15) + "px;top:" + (tabPos.y - 15) + "px;";
        tabEditDiv.className = "tabEditDiv";

        //全選Table按鈕
        if(!seltab){
        var seltab = document.createElement("div");
        seltab.style.cssText = "width:15px;height:15px;left:" + (tabPos.x - 15) + "px;top:" + (tabPos.y - 15) + "px;";
        seltab.className = "seltab";
        seltab.onclick = function(){
        if(table.getAttribute("selected") == "1"){
        table.removeAttribute("selected");
        table.style.background = "";
        this.style.width = "15px";
        this.style.height = "15px";
        }else{
        table.setAttribute("selected","1");
        table.style.background = "#B6CAEB";
        this.style.width = (table.clientWidth + 15) + "px";
        this.style.height = (table.clientHeight + 15) + "px";
        }
        }
        document.body.appendChild(seltab);
        }
        loadTableEdit();
        } loadTable();

        function loadTableEdit(){ //加載可調(diào)整寬度及高度的div
        var tabPos = absPos(table);
        tabEditDiv.innerHTML = "";
        var cellcount = 0;
        var isadd = cellHide.length == 0;
        for(var i=0;i for(var j=0;j var pos = absPos(table.rows[i].cells[j],table);
        if(!$("splitx_" + (pos.y + table.rows[i].cells[j].clientHeight))){ //加載可調(diào)整高度的div
        var split = document.createElement("div");
        split.id = "splitx_" + (pos.y + table.rows[i].cells[j].clientHeight);
        split.className = "splitx";
        split.style.cssText = "width:" + table.clientWidth + "px;left:15px;top:" + (pos.y + table.rows[i].cells[j].clientHeight - 1 + 15) + "px";
        split.onmousedown = function(){
        var index = this.getAttribute("index");
        if(index == null){ index = 0; var divs = tabEditDiv.getElementsByTagName("div"); var left = parseInt(this.id.split("_")[1]); for(var k=0;k moveMode = "cellHeight";
        moveArgs[moveArgs.length] = index;
        }
        tabEditDiv.appendChild(split);
        }
        if(j > 0){ //加載可調(diào)整寬度的div
        if(!$("splity_" + pos.x)){
        var split = document.createElement("div");
        split.id = "splity_" + pos.x;
        split.className = "splity";
        split.style.cssText = "height:" + table.clientHeight + "px;top:15px;left:" + (pos.x - 2 + 15) + "px";
        split.onmousedown = function(){
        var index = this.getAttribute("index");
        if(index == null){ index = 0; var divs = tabEditDiv.getElementsByTagName("div"); var left = parseInt(this.id.split("_")[1]); for(var k=0;k moveMode = "cellWidth";
        moveArgs[moveArgs.length] = index;
        }
        tabEditDiv.appendChild(split);
        }
        }
        if(isadd){
        loadHide();
        }
        table.rows[i].cells[j].onmousedown = function(){
        //alert("x");
        }
        }
        }
        }

        function loadHide(){
        cellHide = [];
        var tempHide = [];
        for(var i=0;i for(var j=0;j for(var k=1;k cellHide[cellHide.length] = [i+k,j];
        tempHide[tempHide.length] = [i+k,j];
        }
        }
        }
        for(var i=0;i for(var j=0;j for(var k=1;k var yc = 0;
        for(var l=0;l if(tempHide[l][0]==i&&tempHide[l][1] }
        for(var l=0;l if(table.rows[i].cells[l].colSpan > 1){yc+=table.rows[i].cells[l].colSpan-1;}
        }
        cellHide[cellHide.length] = [i,j+k+yc];
        }
        }
        }
        }

        addEvent(document,"mousemove",function(e){
        e = e || window.event;
        if(moveMode == "cellWidth"){ //調(diào)整寬度

        var temp = moveArgs[0];
        var test = "";
        for(var i=0;i var index = temp;
        for(var j=0;j if(i==cellHide[j][0] && temp>=cellHide[j][1]){index--;}
        }
        if(!table.rows[i].cells[index] || index < 0 || table.rows[i].cells[index].colSpan > 1){continue;}
        if(e.clientX > absPos(table.rows[i].cells[index]).x)
        table.rows[i].cells[index].style.width = e.clientX - absPos(table.rows[i].cells[index]).x + "px";
        }
        loadTableEdit();
        }else if(moveMode == "cellHeight"){ //調(diào)整高度
        var index = moveArgs[0];
        for(var i=0;i if(table.rows[index].cells[i].rowSpan > 1){continue;}
        if(e.clientY > absPos(table.rows[index].cells[i]).y)
        table.rows[index].cells[i].style.height = e.clientY - absPos(table.rows[index].cells[i]).y + "px";
        }
        loadTableEdit();
        }
        });
        addEvent(document,"mouseup",function(e){
        moveMode = ""; moveArgs = [];
        });
        addEvent(document,"mouseout",function(e){
        e = e || event;
        if (!isMouseLeaveOrEnter(e, this)) { return; }
        moveMode = ""; moveArgs = [];
        });

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        用js實(shí)現(xiàn)table單元格高寬調(diào)整,兼容合并單元格(兼容IE6、7、8、FF)實(shí)例_javascript技巧

        用js實(shí)現(xiàn)table單元格高寬調(diào)整,兼容合并單元格(兼容IE6、7、8、FF)實(shí)例_javascript技巧:先上效果圖: CSS: 代碼如下:body{margin:0px;padding:0px;-moz-user-select:none;cursor:default;} .tabEditDiv{position:absolute;width:15px;height:15px;cursor:pointer;}.seltab{position:abso
        推薦度:
        標(biāo)簽: 調(diào)整 合并單元格 ff
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲综合一区无码精品| 亚洲最新中文字幕| 久久亚洲AV成人无码国产电影 | 黄色免费在线网址| 青青操视频在线免费观看| 国产成人99久久亚洲综合精品| 美女裸免费观看网站| jizzjizz亚洲| 激情综合亚洲色婷婷五月| 国产福利在线免费| 亚洲色偷精品一区二区三区| 日本成人在线免费观看| 亚洲AV无码一区二区二三区入口| 中国性猛交xxxxx免费看| 免费国产a国产片高清网站| 又粗又长又爽又长黄免费视频| 国产亚洲老熟女视频| 四虎国产精品免费永久在线| 亚洲视频在线免费看| 国产亚洲Av综合人人澡精品| 四虎国产精品免费久久| jzzijzzij在线观看亚洲熟妇| 亚洲美女在线国产| 蜜臀亚洲AV无码精品国产午夜.| 国产大片51精品免费观看| 男女一边摸一边做爽的免费视频 | 婷婷亚洲综合一区二区| 中文字幕亚洲综合久久菠萝蜜| 亚洲乱色伦图片区小说| av无码免费一区二区三区| 亚洲另类自拍丝袜第五页| 亚洲一本大道无码av天堂| 久久午夜羞羞影院免费观看| 亚洲狠狠成人综合网| 日日麻批免费40分钟无码| 亚洲日产乱码一二三区别| 精品亚洲一区二区| 最近的中文字幕大全免费版 | 亚洲中文精品久久久久久不卡| 亚洲国产精品成人久久蜜臀 | 久久精品国产亚洲av麻豆色欲|