当前位置:软件学堂 > 资讯首页 > 网络编程 > 编程其他 > JS代码改变列表项的上下顺序

JS代码改变列表项的上下顺序

2012/10/25 18:12:25作者:佚名来源:网络

移动端

【实例名称】

JS代码改变列表项的上下顺序

【实例描述】

列表项的上下移动,是网页中经常使用的特效。本例通过一个简单的例子,学习这种特效的制作。

【实例代码】

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>标题页-学无忧(www.xue51.com)</title>
</head>
<body>
<select size="10" name="select">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
<input type=button value=向上移动 onclick="doUp()">
<input type=button value=向下移动 onclick="doDown()">
<script>
function doOrder(select,sequence)  
//将上、下两个方法合并成一个
{
   if (!select||select.selectedIndex==-1) 
//如果没有选择列表项,不进行任何操作
        return false;
   with (select)
   {   
    var newIndex = selectedIndex + sequence; 
//获取移动后的索引
    var oldIndex = selectedIndex;         
//旧索引
    if (newIndex>=options.length||newIndex<0||sequence==0||newIndex<0) 
//判断是否超出边界
    {
        return false; 
    }
    options[newIndex].swapNode(options[oldIndex])  
//交换指定索引处的节点
 }
 return true;
}
function doUp()
{
   doOrder(document.all.select,-1);  
//向上移动的方法
}
function doDown()
{
   doOrder(document.all.select,1);   
//向下移动的方法
}
</script>
</body>
</html>
 

【运行效果】

运行效果

【难点剖析】

本例的重点是要移动的元素的旧位置和新位置,旧位置使用“selected Index”属性获取,新位置根据选择的是‘‘向上移动”还是“向下移动”,下就“+1”,上就“一1”。最后使用“swapNode’’方法实现新旧位置互换。

【源码下载】

本实例JS代码下载

 

标签: JS代码  列表项