亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 21.12 表格操作常用方法.htm

?? 一些javascript的小例子希望對初學者有更好的幫助
?? HTM
字號:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>無標題頁</title>
<script type="text/javascript">
var mytable=null;
window.onload=function(){
mytable=new CTable("tbl",10);      //隨機創(chuàng)建10行表格
}
Array.prototype.each=function(f){  //數(shù)組的遍歷
for(var i=0;i<this.length;i++) f(this[i],i,this)}
function $A(arrayLike){            //數(shù)值的填充
for(var i=0,ret=[];i<arrayLike.length;i++) ret.push(arrayLike[i]);
return ret
}
Function.prototype.bind = function() {  //數(shù)據(jù)的綁定
  var __method = this, args = $A(arguments), object = args.shift();
  return function() {
    return __method.apply(object, args.concat($A(arguments)));
  }
}
function CTable(id,rows){
this.tbl=typeof(id)=="string"?document.getElementById(id):id; 
if (rows && /^\d+$/.test(rows)) this.addrows(rows)    //為表格添加行數(shù)
}
CTable.prototype={
addrows:function(n){          //隨機添加n行
new Array(n).each(this.add.bind(this))
},
add:function(){              //添加1行
var self=this;
var tr = self.tbl.insertRow(-1),td1= tr.insertCell(-1),td2= tr.insertCell(-1),td3= tr.insertCell(-1);
var chkbox=document.createElement("INPUT")
chkbox.type="checkbox"
chkbox.onclick=self.highlight.bind(self)
td1.appendChild(chkbox)                    //第一列添加復選框
td1.setAttribute("width","35")
td2.innerHTML=Math.ceil(Math.random()*99)  //第二列的隨機填充值
td3.innerHTML=Math.ceil(Math.random()*99)  //第三列的隨機填充值
},
del:function(){              //刪除所選行
var self=this
$A(self.tbl.rows).each(function(tr){if (self.getChkBox(tr).checked) tr.parentNode.removeChild(tr)})
},
up:function(){              //上移所選行
    var self=this
    var upOne=function(tr){    //上移1行
    if (tr.rowIndex>0){
    self.swapTr(tr,self.tbl.rows[tr.rowIndex-1])
    self.getChkBox(tr).checked=true}}
    var arr=$A(self.tbl.rows).reverse() //反選
    if (arr.length>0 && self.getChkBox(arr[arr.length-1]).checked){
    for(var i=arr.length-1;i>=0;i--){
    if (self.getChkBox(arr[i]).checked){
    arr.pop()           
    }else{
    break}}}
    arr.reverse().each(function(tr){if (self.getChkBox(tr).checked) upOne(tr)});
},
down:function(){          //下移所選行
    var self=this
    var downOne=function(tr){      
    if (tr.rowIndex<self.tbl.rows.length-1)  {
    self.swapTr(tr,self.tbl.rows[tr.rowIndex+1]);
    self.getChkBox(tr).checked=true;
    }}
    var arr=$A(self.tbl.rows)
    if (arr.length>0 && self.getChkBox(arr[arr.length-1]).checked){
    for(var i=arr.length-1;i>=0;i--){
    if (self.getChkBox(arr[i]).checked){
    arr.pop()
    }else{
    break}}
    }
    arr.reverse().each(function(tr){if (self.getChkBox(tr).checked) downOne(tr)});
},
sort:function(){                //排序  
var self=this,order=arguments[0];
var sortBy=function(a,b){
if (typeof(order)=="number"){  //數(shù)字,則按數(shù)字指示的列排序
return Number(a.cells[order].innerHTML)>=Number(b.cells[order].innerHTML)?1:-1;   //轉(zhuǎn)化為數(shù)字類型比較大小
}else if (typeof(order)=="function"){                                             //返回結(jié)果排序
return order(a,b);
}else{
return 1;
}
}
$A(self.tbl.rows).sort(sortBy).each(function(x){
var checkStatus=self.getChkBox(x).checked;
self.tbl.firstChild.appendChild(x);
if (checkStatus) self.getChkBox(x).checked=checkStatus;
});
},
rnd:function(){           //隨即選擇幾行數(shù)據(jù)
var self=this,selmax=0,tbl=self.tbl;
if (tbl.rows.length){
 selmax=Math.max(Math.ceil(tbl.rows.length/4),1);  //選擇的行數(shù)不超過tr數(shù)的1/4
 $A(tbl.rows).each(function(x){
self.getChkBox(x).checked=false;
self.restoreBgColor(x)
})
}else{
return alert("無數(shù)據(jù)可以選")
}
new Array(selmax).each(function(){
var tr=tbl.rows[Math.floor(Math.random()*tbl.rows.length)]
self.getChkBox(tr).checked=true;
self.highlight({target:self.getChkBox(tr)})
})
},
highlight:function(){               //設置行的背景色
var self=this;
var evt=arguments[0] || window.event
var chkbox=evt.srcElement || evt.target
var tr=chkbox.parentNode.parentNode
chkbox.checked?self.setBgColor(tr):self.restoreBgColor(tr)
},
swapTr:function(tr1,tr2){             //交換tr1和tr2的位置
var target=(tr1.rowIndex<tr2.rowIndex)?tr2.nextSibling:tr2;
var tBody=tr1.parentNode
tBody.replaceChild(tr2,tr1);
    tBody.insertBefore(tr1,target);
},
getChkBox:function(tr){           //從tr得到 checkbox對象
return tr.cells[0].firstChild
},
restoreBgColor:function(tr){          
tr.style.backgroundColor="#ffffff" 
},
setBgColor:function(tr){         //設置背景色
tr.style.backgroundColor="#c0c0c0"
}
}

function f(a,b){
var sumRow=function(row){return Number(row.cells[1].innerHTML)+Number(row.cells[2].innerHTML)};
return sumRow(a)>sumRow(b)?1:-1;
}
</script>
</head>
<body>
<button  onClick="javascript:mytable.rnd()">隨機選擇行</button>
<button  onClick="javascript:mytable.add()">添加一行</button>
<button  onClick="javascript:mytable.del()">刪除選定行</button>
<button  onClick="javascript:mytable.up()">上移選定行</button>
<button  onClick="javascript:mytable.down()">下移選定行</button>
<button  onClick="javascript:mytable.sort(1)">按第一列排序</button>
<button  onClick="javascript:mytable.sort(f)">按數(shù)據(jù)和排序</button>
<br/><br/>
<table width=100%>
<tr>
<td valign="top"><table border id="tbl" width="80%"></table></td>
</tr>
</table>
</body>
</html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品黑人久久久| 99国产精品一区| 精品久久久久香蕉网| 午夜国产精品影院在线观看| 欧美精选午夜久久久乱码6080| 日精品一区二区| 日韩欧美你懂的| 国产成人午夜高潮毛片| 中文一区二区在线观看| 91社区在线播放| 爽好多水快深点欧美视频| 日韩精品一区二区三区四区视频| 精品亚洲免费视频| 欧美经典三级视频一区二区三区| 日本大香伊一区二区三区| 日韩国产欧美在线播放| 国产亚洲精品aa| 日本丶国产丶欧美色综合| 久久国产精品区| 中文字幕一区二区不卡| 欧美美女一区二区在线观看| 久久精品国产澳门| 国产精品萝li| 91精品综合久久久久久| 丰满白嫩尤物一区二区| 亚洲gay无套男同| 国产亚洲欧美在线| 欧美性色黄大片| 国产精品影视在线观看| 亚洲一区二区偷拍精品| 国产日韩av一区二区| 欧美日韩中文字幕精品| 国产91精品免费| 日韩福利电影在线| 综合欧美一区二区三区| 欧美videos大乳护士334| 99视频精品全部免费在线| 免费观看久久久4p| 亚洲欧美日韩国产另类专区| 久久婷婷国产综合国色天香 | 91精品视频网| 成人高清伦理免费影院在线观看| 一区二区三区在线不卡| 日韩免费一区二区| 成人污污视频在线观看| 久久精品国产一区二区三| 久久久久成人黄色影片| 欧美自拍丝袜亚洲| 日韩中文字幕av电影| 自拍偷拍亚洲综合| 欧美一区二区三区播放老司机| 91尤物视频在线观看| 久久不见久久见免费视频1| 亚洲国产精品人人做人人爽| 欧美精品一区二区三区高清aⅴ | 欧美经典一区二区| 91.com在线观看| 96av麻豆蜜桃一区二区| 免费在线视频一区| 亚洲精品精品亚洲| 中文字幕精品—区二区四季| 26uuu成人网一区二区三区| 色视频欧美一区二区三区| 成人永久看片免费视频天堂| 久久国内精品自在自线400部| 夜色激情一区二区| 亚洲精品一二三| 国产精品天干天干在观线| 久久久五月婷婷| 精品国产精品网麻豆系列| 日韩亚洲欧美一区二区三区| 日本黄色一区二区| 国产经典欧美精品| 另类专区欧美蜜桃臀第一页| 免费看精品久久片| 午夜精品久久久久久久99水蜜桃| 亚洲免费观看高清| 国产精品毛片无遮挡高清| 欧美一区二区三区婷婷月色| 69堂成人精品免费视频| 91在线视频播放| 91论坛在线播放| 岛国一区二区在线观看| www.欧美.com| 东方aⅴ免费观看久久av| 丰满少妇在线播放bd日韩电影| 国产一区在线精品| 成人一区二区在线观看| 国产自产2019最新不卡| 成人午夜在线免费| 国产酒店精品激情| 成人精品视频一区| 国产99久久久久| 色素色在线综合| 99久久婷婷国产精品综合| 91丨九色丨蝌蚪丨老版| 欧美色精品天天在线观看视频| 91官网在线观看| 555www色欧美视频| 欧美xxxxxxxx| 亚洲欧美另类久久久精品2019| 亚洲素人一区二区| 日本网站在线观看一区二区三区| 热久久国产精品| 国产伦精一区二区三区| 国产 欧美在线| 欧美三级电影网| 91麻豆精品国产91久久久久久久久| 久久蜜桃av一区二区天堂| 国产人伦精品一区二区| 亚洲一区二区黄色| 美日韩一级片在线观看| 成人黄色电影在线 | 国产另类ts人妖一区二区| 国产福利一区在线观看| 在线观看视频欧美| 欧美一区二区三区不卡| 中文字幕一区二区三区av| 亚洲最新视频在线观看| 久久er精品视频| 国产精品一二三四区| 欧美性大战xxxxx久久久| 91精品国产麻豆| 亚洲免费av在线| 日本免费新一区视频| 91蝌蚪国产九色| 7777精品久久久大香线蕉| 18成人在线观看| 午夜欧美2019年伦理| 国产精品99久久久久| 欧美欧美欧美欧美首页| 中文字幕 久热精品 视频在线| 日韩成人一级片| 成人午夜av影视| 久久综合狠狠综合久久激情 | 日日欢夜夜爽一区| 国产传媒日韩欧美成人| 欧美一卡二卡在线| 国产精品毛片无遮挡高清| 国内精品写真在线观看| 成人听书哪个软件好| 制服丝袜亚洲精品中文字幕| 国产精品色哟哟| 日韩电影一区二区三区| 成人av片在线观看| 日韩三级高清在线| 亚洲伦在线观看| 国产一区二区美女| 欧美一三区三区四区免费在线看| 亚洲欧美日韩在线播放| 国产一区中文字幕| 精品福利一区二区三区免费视频| 一区二区理论电影在线观看| 成人性色生活片免费看爆迷你毛片| 欧美成人一区二区三区| 亚洲成人第一页| 色屁屁一区二区| 国产精品私人自拍| 懂色一区二区三区免费观看 | 久久黄色级2电影| 欧美一区二区成人| 欧美成人r级一区二区三区| 天堂久久一区二区三区| 欧美日韩精品专区| 亚洲精品视频在线看| 色婷婷亚洲一区二区三区| 中文幕一区二区三区久久蜜桃| 国产精品白丝jk黑袜喷水| 欧美日韩小视频| 亚洲一区自拍偷拍| 色综合久久中文字幕综合网| 国产亚洲成av人在线观看导航| 亚洲午夜精品在线| 99riav一区二区三区| 国产精品久久久久久久午夜片| 成人av免费在线观看| 国产欧美精品一区二区色综合| 成人精品视频一区二区三区| 国产亚洲精品久| 99久久精品国产毛片| 亚洲资源在线观看| 日韩一区二区精品| 国产伦精品一区二区三区视频青涩| 久久精品一区蜜桃臀影院| 国产精品一品视频| 亚洲日本一区二区| 日本道色综合久久| 日本午夜一本久久久综合| 欧美色综合影院| 另类小说视频一区二区| 久久久久久久久99精品| 国产99久久久国产精品| 亚洲欧美日韩国产手机在线| 色噜噜夜夜夜综合网| 首页国产欧美久久| 日韩欧美一二三四区| 成人福利视频在线| 亚洲天堂免费在线观看视频| 欧美日韩精品一区二区三区蜜桃 | 欧美日韩中字一区|