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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? table.js

?? 一個專門用于ACM比賽的網站源程序,有注冊,管理隊伍,管理賽事等諸多功能.
?? JS
字號:

// 表格相關全局變量
var selectedTD
var selectedTR
var selectedTBODY
var selectedTable

// 插入表格
function TableInsert(){
	if (!isTableSelected()){
		ShowDialog('dialog/table.htm', 350, 380, true);
	}
}

// 修改表格屬性
function TableProp(){
	if (isTableSelected()||isCursorInTableCell()){
		ShowDialog('dialog/table.htm?action=modify', 350, 380, true);
	}
}

// 修改單元格屬性
function TableCellProp(){
	if (isCursorInTableCell()){
		ShowDialog('dialog/tablecell.htm', 350, 280, true);
	}
}

// 拆分單元格
function TableCellSplit(){
	if (isCursorInTableCell()){
		ShowDialog('dialog/tablecellsplit.htm', 200, 150, true);
	}
}

// 修改表格行屬性
function TableRowProp(){
	if (isCursorInTableCell()){
		ShowDialog('dialog/tablecell.htm?action=row', 350, 280, true);
	}
}

// 插入行(在上方)
function TableRowInsertAbove() {

	if (isCursorInTableCell()){
		var numCols = 0

		allCells = selectedTR.cells
		for (var i=0;i<allCells.length;i++) {
		 	numCols = numCols + allCells[i].getAttribute('colSpan')
		}

		var newTR = selectedTable.insertRow(selectedTR.rowIndex)
	
		for (i = 0; i < numCols; i++) {
		 	newTD = newTR.insertCell()
			newTD.innerHTML = "&nbsp;"

			if (borderShown == "yes") {
				newTD.runtimeStyle.border = "1px dotted #BFBFBF"
			}
		}
	}	
}

// 插入行(在下方)
function TableRowInsertBelow() {

	if (isCursorInTableCell()){
		
		var numCols = 0

		allCells = selectedTR.cells
		for (var i=0;i<allCells.length;i++) {
		 	numCols = numCols + allCells[i].getAttribute('colSpan')
		}

		var newTR = selectedTable.insertRow(selectedTR.rowIndex+1)

		for (i = 0; i < numCols; i++) {
		 	newTD = newTR.insertCell()
			newTD.innerHTML = "&nbsp;"
			
			if (borderShown == "yes") {
				newTD.runtimeStyle.border = "1px dotted #BFBFBF"
			}
		}
	}
}

// 合并行(向下方)
function TableRowMerge() {
	if (isCursorInTableCell()) {

		var rowSpanTD = selectedTD.getAttribute('rowSpan')
		allRows = selectedTable.rows
		if (selectedTR.rowIndex +1 != allRows.length) {

			var allCellsInNextRow = allRows[selectedTR.rowIndex+selectedTD.rowSpan].cells
			var addRowSpan = allCellsInNextRow[selectedTD.cellIndex].getAttribute('rowSpan')
			var moveTo = selectedTD.rowSpan

			if (!addRowSpan) addRowSpan = 1;

			selectedTD.rowSpan = selectedTD.rowSpan + addRowSpan
			allRows[selectedTR.rowIndex + moveTo].deleteCell(selectedTD.cellIndex)
		}
	}

}

// 拆分行
function TableRowSplit(nRows){
	if (!isCursorInTableCell()) return;
	if (nRows<2) return;

	var addRows = nRows - 1;
	var addRowsNoSpan = addRows;

	var nsLeftColSpan = 0;
	for (var i=0; i<selectedTD.cellIndex; i++){
		nsLeftColSpan += selectedTR.cells[i].colSpan;
	}

	var allRows = selectedTable.rows;

	// rowspan>1時
	while (selectedTD.rowSpan > 1 && addRowsNoSpan > 0){
		var nextRow = allRows[selectedTR.rowIndex+selectedTD.rowSpan-1];
		selectedTD.rowSpan -= 1;

		var ncLeftColSpan = 0;
		var position = -1;
		for (var n=0; n<nextRow.cells.length; n++){
			ncLeftColSpan += nextRow.cells[n].getAttribute('colSpan');
			if (ncLeftColSpan>nsLeftColSpan){
				position = n;
				break;
			}
		}

		var newTD=nextRow.insertCell(position);
		newTD.innerHTML = "&nbsp;";

		if (borderShown == "yes") {
			newTD.runtimeStyle.border = "1px dotted #BFBFBF";
		}
			
		addRowsNoSpan -= 1;
	}

	// rowspan=1時
	for (var n=0; n<addRowsNoSpan; n++){
		var numCols = 0

		allCells = selectedTR.cells
		for (var i=0;i<allCells.length;i++) {
			numCols = numCols + allCells[i].getAttribute('colSpan')
		}

		var newTR = selectedTable.insertRow(selectedTR.rowIndex+1)

		// 上方行的rowspan達到這行
		for (var j=0; j<selectedTR.rowIndex; j++){
			for (var k=0; k<allRows[j].cells.length; k++){
				if ((allRows[j].cells[k].rowSpan>1)&&(allRows[j].cells[k].rowSpan>=selectedTR.rowIndex-allRows[j].rowIndex+1)){
					allRows[j].cells[k].rowSpan += 1;
				}
			}
		}
		// 當前行
		for (i = 0; i < allCells.length; i++) {
			if (i!=selectedTD.cellIndex){
				selectedTR.cells[i].rowSpan += 1;
			}else{
				newTD = newTR.insertCell();
				newTD.colSpan = selectedTD.colSpan;
				newTD.innerHTML = "&nbsp;";

				if (borderShown == "yes") {
					newTD.runtimeStyle.border = "1px dotted #BFBFBF";
				}
			}
		}
	}

}

// 刪除行
function TableRowDelete() {
	if (isCursorInTableCell()) {
		selectedTable.deleteRow(selectedTR.rowIndex)
	}
}

// 插入列(在左側)
function TableColInsertLeft() {
   	if (isCursorInTableCell()) {
		moveFromEnd = (selectedTR.cells.length-1) - (selectedTD.cellIndex)
		allRows = selectedTable.rows
		for (i=0;i<allRows.length;i++) {
			rowCount = allRows[i].cells.length - 1
			position = rowCount - moveFromEnd
			if (position < 0) {
				position = 0
			}
			newCell = allRows[i].insertCell(position)
			newCell.innerHTML = "&nbsp;"

			if (borderShown == "yes") {
				newCell.runtimeStyle.border = "1px dotted #BFBFBF"
			}
		}
   	}
}

// 插入列(在右側)
function TableColInsertRight() {
   	if (isCursorInTableCell()) {
		moveFromEnd = (selectedTR.cells.length-1) - (selectedTD.cellIndex)
		allRows = selectedTable.rows
		for (i=0;i<allRows.length;i++) {
			rowCount = allRows[i].cells.length - 1
			position = rowCount - moveFromEnd
			if (position < 0) {
				position = 0
			}
			newCell = allRows[i].insertCell(position+1)
			newCell.innerHTML = "&nbsp;"

			if (borderShown == "yes") {
				newCell.runtimeStyle.border = "1px dotted #BFBFBF"
			}
		}	
   	}
}

// 合并列
function TableColMerge() {
	if (isCursorInTableCell()) {

		var colSpanTD = selectedTD.getAttribute('colSpan')
		allCells = selectedTR.cells

		if (selectedTD.cellIndex + 1 != selectedTR.cells.length) {
			var addColspan = allCells[selectedTD.cellIndex+1].getAttribute('colSpan')
			selectedTD.colSpan = colSpanTD + addColspan
			selectedTR.deleteCell(selectedTD.cellIndex+1)
		}	
	}

}

// 刪除列
function TableColDelete() {
   	if (isCursorInTableCell()) {
		moveFromEnd = (selectedTR.cells.length-1) - (selectedTD.cellIndex)
		allRows = selectedTable.rows
		for (var i=0;i<allRows.length;i++) {
			endOfRow = allRows[i].cells.length - 1
			position = endOfRow - moveFromEnd
			if (position < 0) {
				position = 0
			}
				

			allCellsInRow = allRows[i].cells
				
			if (allCellsInRow[position].colSpan > 1) {
				allCellsInRow[position].colSpan = allCellsInRow[position].colSpan - 1
			} else { 
				allRows[i].deleteCell(position)
			}

		}

	}

}

// 拆分列
function TableColSplit(nCols){
	if (!isCursorInTableCell()) return;
	if (nCols<2) return;

	var addCols = nCols - 1;
	var addColsNoSpan = addCols;
	var newCell;

	var nsLeftColSpan = 0;
	var nsLeftRowSpanMoreOne = 0;
	for (var i=0; i<selectedTD.cellIndex; i++){
		nsLeftColSpan += selectedTR.cells[i].colSpan;
		if (selectedTR.cells[i].rowSpan > 1){
			nsLeftRowSpanMoreOne += 1;
		}
	}

	var allRows = selectedTable.rows
	// colSpan>1時
	while (selectedTD.colSpan > 1 && addColsNoSpan > 0) {
		newCell = selectedTR.insertCell(selectedTD.cellIndex+1);
		newCell.innerHTML = "&nbsp;"
		if (borderShown == "yes") {
			newCell.runtimeStyle.border = "1px dotted #BFBFBF"
		}
		selectedTD.colSpan -= 1;
		addColsNoSpan -= 1;
	}
	// colSpan=1時
	for (i=0;i<allRows.length;i++) {
		var ncLeftColSpan = 0;
		var position = -1;
		for (var n=0; n<allRows[i].cells.length; n++){
			ncLeftColSpan += allRows[i].cells[n].getAttribute('colSpan');
			if (ncLeftColSpan+nsLeftRowSpanMoreOne>nsLeftColSpan){
				position = n;
				break;
			}
		}
		
		if (selectedTR.rowIndex!=i){
			if (position!=-1){
				allRows[i].cells[position+nsLeftRowSpanMoreOne].colSpan += addColsNoSpan;
			}
		}else{
			for (var n=0; n<addColsNoSpan; n++){
				newCell = allRows[i].insertCell(selectedTD.cellIndex+1)
				newCell.innerHTML = "&nbsp;"
				newCell.rowSpan = selectedTD.rowSpan;

				if (borderShown == "yes") {
					newCell.runtimeStyle.border = "1px dotted #BFBFBF"
				}
			}
		}
	}
}

// 是否選中表格
function isTableSelected() {
	if (eWebEditor.document.selection.type == "Control") {
		var oControlRange = eWebEditor.document.selection.createRange();
		if (oControlRange(0).tagName.toUpperCase() == "TABLE") {
			selectedTable = eWebEditor.document.selection.createRange()(0);
			return true;
		}	
	}
} 

// 光標是否在表格中
function isCursorInTableCell() {
	if (eWebEditor.document.selection.type != "Control") {
		var elem = eWebEditor.document.selection.createRange().parentElement()
		while (elem.tagName.toUpperCase() != "TD" && elem.tagName.toUpperCase() != "TH"){
			elem = elem.parentElement
			if (elem == null)
                break
		}
		if (elem) {
			selectedTD = elem
			selectedTR = selectedTD.parentElement
			selectedTBODY =  selectedTR.parentElement
			selectedTable = selectedTBODY.parentElement
			return true
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费人成在线不卡| 国产精品免费aⅴ片在线观看| 高潮精品一区videoshd| 久久99国产精品久久| 秋霞午夜鲁丝一区二区老狼| 性感美女极品91精品| 亚洲va中文字幕| 五月天网站亚洲| 日本aⅴ免费视频一区二区三区| 天天综合日日夜夜精品| 免费在线欧美视频| 韩国av一区二区三区| 国产高清亚洲一区| 波多野结衣视频一区| 一本一本大道香蕉久在线精品 | 成人免费视频在线观看| 99麻豆久久久国产精品免费| 色妹子一区二区| 日本高清不卡视频| 91麻豆精品国产91久久久久久 | 国产精品欧美一区喷水| 中文字幕一区二区在线播放| 一区二区三区精品在线| 蜜桃视频第一区免费观看| 极品少妇xxxx精品少妇偷拍| 精品一区二区三区日韩| av不卡一区二区三区| 91精品国产麻豆国产自产在线 | 国产一区不卡在线| eeuss鲁片一区二区三区在线看| 色综合久久九月婷婷色综合| 日韩区在线观看| 国产三级精品三级在线专区| 中文字幕亚洲精品在线观看| 三级影片在线观看欧美日韩一区二区| 日产国产欧美视频一区精品| 另类小说视频一区二区| 丁香婷婷综合网| 欧美日韩第一区日日骚| 2017欧美狠狠色| 亚洲精品免费一二三区| 蜜臀久久99精品久久久久久9| 紧缚奴在线一区二区三区| 日本精品视频一区二区三区| 欧美videos大乳护士334| 亚洲日本电影在线| 国产成人福利片| 日韩一级片网址| 亚洲一区免费观看| 成人爱爱电影网址| 久久蜜桃一区二区| 男女激情视频一区| 欧美体内she精视频| 日韩美女久久久| 粉嫩蜜臀av国产精品网站| 欧美一区二区三区爱爱| 亚洲国产精品久久久男人的天堂| 国产高清一区日本| 久久婷婷综合激情| 久久99精品国产麻豆不卡| 欧美日韩1234| 亚洲小说春色综合另类电影| 91色九色蝌蚪| 亚洲图片你懂的| 波多野结衣一区二区三区| 久久精品亚洲精品国产欧美| 久久99热国产| 91精品国产综合久久久久久久| 亚洲免费观看高清完整版在线 | 激情综合色播激情啊| 欧美日韩大陆在线| 五月激情综合色| 欧美年轻男男videosbes| 亚洲丝袜精品丝袜在线| 92精品国产成人观看免费| 中文字幕第一区综合| 成人av资源在线观看| 国产精品美女久久久久久| 成人91在线观看| 亚洲丝袜自拍清纯另类| 色先锋久久av资源部| 一区二区三区四区在线| 在线免费观看视频一区| 亚洲自拍与偷拍| 91久久精品一区二区二区| 亚洲男人的天堂一区二区| eeuss国产一区二区三区| 亚洲欧美日韩国产中文在线| 色999日韩国产欧美一区二区| 亚洲伦理在线免费看| 欧美无乱码久久久免费午夜一区| 亚洲成av人片在线| 精品美女一区二区| 成人免费高清在线| 亚洲精品中文在线观看| 91精品视频网| 精品一区二区综合| 国产精品国产三级国产aⅴ入口| 9色porny自拍视频一区二区| 亚洲小说春色综合另类电影| 日韩午夜小视频| 国产精品99久久久久久久女警| 国产精品高潮呻吟久久| 欧美日韩高清在线| 国产高清一区日本| 亚洲高清在线精品| 久久在线免费观看| 欧美在线free| 久草中文综合在线| 国产精品久久久久四虎| 91精品国产综合久久久久久漫画| 国产一区二区电影| 亚洲成a人片综合在线| 久久免费美女视频| 欧美日韩成人激情| 成人激情免费视频| 日韩黄色免费电影| 国产精品三级视频| 51精品秘密在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 国产一区二区精品久久91| 日韩久久一区二区| 久久免费的精品国产v∧| 欧美日韩在线播放三区四区| 成人自拍视频在线观看| 日韩成人精品在线观看| 亚洲免费在线看| 国产精品美女久久久久久久久久久| 91精品欧美综合在线观看最新| 99综合电影在线视频| 久久成人18免费观看| 性欧美大战久久久久久久久| 亚洲欧美一区二区三区国产精品| 精品国产亚洲一区二区三区在线观看| 色琪琪一区二区三区亚洲区| 成人精品视频一区二区三区| 激情丁香综合五月| 蜜臀a∨国产成人精品| 天涯成人国产亚洲精品一区av| 亚洲日本va在线观看| 亚洲婷婷综合色高清在线| 久久精品视频在线看| 精品国产一区二区三区av性色| 欧美网站大全在线观看| 在线观看日产精品| 91福利在线观看| 91视频国产观看| 一本到一区二区三区| 97精品国产露脸对白| www.欧美色图| 91色乱码一区二区三区| 成人av影视在线观看| 成人午夜av影视| 成人午夜av电影| 丰满亚洲少妇av| 成人国产精品免费观看| 国产福利电影一区二区三区| 久久国产精品99精品国产| 麻豆精品新av中文字幕| 久久99精品久久只有精品| 狠狠色丁香久久婷婷综| 国产v综合v亚洲欧| 成人教育av在线| 色天天综合久久久久综合片| 欧美午夜精品电影| 91精品国产91久久久久久一区二区| 欧美理论片在线| 精品入口麻豆88视频| 久久久国际精品| 亚洲欧美电影院| 视频一区二区三区在线| 国产在线视视频有精品| 成人avav影音| 欧美视频完全免费看| 欧美成人精品1314www| 欧美激情在线免费观看| 最新热久久免费视频| 亚洲国产视频在线| 国产综合久久久久久久久久久久| 不卡免费追剧大全电视剧网站| 色噜噜狠狠色综合欧洲selulu| 69av一区二区三区| 国产欧美日韩视频在线观看| 亚洲女同女同女同女同女同69| 亚洲午夜免费电影| 国产成人午夜视频| 欧洲激情一区二区| 欧美精品一区二区三区久久久| 中文字幕一区二区三区视频| 午夜精品久久久久久不卡8050| 久久99久久久久久久久久久| 99精品久久久久久| 日韩欧美你懂的| 亚洲欧美成人一区二区三区| 韩国一区二区视频| 欧美午夜电影在线播放| 中国色在线观看另类| 日韩av电影天堂| 色美美综合视频| 国产精品全国免费观看高清|