DIV上下移动

为了做一个排序的页面实现的,

能使用上下键头,调整箭头所在行的div的位置

效果:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE>DIV上下移动</TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 </HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
	function upMove(upA) {
		// 通过链接对象获取表格行的引用
		var attrValueDiv = document.getElementById("attrValueDiv");
		var row = upA.parentNode;
		var divChilds = attrValueDiv.childNodes;
		var index = parseInt(row.getAttribute('index'));
		// 如果不是第一行,则与上一行交换顺序
		if (divChilds[index - 1] && index != 0) {
			swapNode(divChilds[index], divChilds[index - 1]);
		}
	}

	function downMove(downA) {
		// 通过链接对象获取表格行的引用
		var attrValueDiv = document.getElementById("attrValueDiv");
		var row = downA.parentNode;
		var divChilds = attrValueDiv.childNodes;
		var index = parseInt(row.getAttribute('index'));
		// 如果不是最后一行,则与下一行交换顺序
		if (divChilds[index + 1]) {
			swapNode(divChilds[index], divChilds[index + 1]);
		}
	}

	function swapNode(node1, node2) {
		var parent = document.getElementById("attrValueDiv");// 父节点
		var t1 = node1.nextSibling;// 两节点的相对位置
		var t2 = node2.nextSibling;
		// 如果是插入到最后就用appendChild
		if (t1)
			parent.insertBefore(node2, t1);
		else
			parent.appendChild(node2);
		if (t2)
			parent.insertBefore(node1, t2);
		else
			parent.appendChild(node1);
		var index1 = node1.getAttribute('index');
		var index2 = node2.getAttribute('index');
		node1.setAttribute('index', index2)
		node2.setAttribute('index', index1)
	}

	function add(){
		var attrValueDiv = document.getElementById("attrValueDiv");
		var divChilds = attrValueDiv.childNodes;
		var tempHtml = '';
		tempHtml += "<div style='margin:4px;padding-left:5px;' index="
						+ divChilds.length
						+ ">"
						+ " 名称:<input type=text name='attrValueName' size=10 maxlength='50' />"
						+ " 编码:<input type=text name='attrValueCode' size=10 maxlength='50' />"
						+ "<a οnclick='upMove(this);' href='#' title='上移'><img src='up3.gif' style='border:0px;'/></a> "
						+ "<a οnclick='downMove(this);' href='#' title='下移'><img src='down3.gif' style='border:0px;'/></a></div>";
		attrValueDiv.innerHTML += tempHtml;
	}
//-->
</SCRIPT>
 <BODY>
 <input type='button' value='add' οnclick='add();'>
 <div id='attrValueDiv'>
 </div>
 </BODY>
</HTML>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值