仿265层移动上移、下移,支持IE、FF

<!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>仿265上下层的移动(上移,下移)支持IE、FF</title>
<style type="text/css">
/*<![CDATA[*/
ul{
width:400px
}
li{
border:1px solid gray;
list-style:none
}
.txt{
padding:4px;
background-color:#ffffff
}
/*]]>*/
</style>
<script language="javascript" type="text/javascript">
//<![CDATA
window.onload=function(){
ggGroup(document.getElementById(‘test‘),5);
};
function ggGroup(ele,margin){
margin=margin||0;
var bgcolors=‘#b3d580,#99c9b1,#b4a1d8,#f7c480,#d5d588,#eea2bb‘.split(‘,‘);
var txtUp=‘上移↑&nbsp;‘,txtDown=‘下移↓‘;
var panels=children(ele);
for(var i=0,h=0;i<panels.length;i++){
var p=panels[i];
p.style.position=‘absolute‘;
p.style.width=‘100%‘;
var b=document.createElement(‘div‘);
with(b.style){
fontSize=‘12px‘;
padding=‘4px‘;
backgroundColor=bgcolors[i%bgcolors.length];
textAlign=‘right‘;
}
b.innerHTML=‘<span>‘+txtUp+‘</span><span>‘+txtDown+‘</span>‘;
b.firstChild.onclick=moveup;
b.firstChild.style.cursor=‘pointer‘;
b.lastChild.onclick=movedown;
b.lastChild.style.cursor=‘pointer‘;
p.insertBefore(b,p.firstChild);
p.style.top=h+‘px‘;
p.index=i;
h+=p.offsetHeight+margin;
}
ele.style.height=h+‘px‘;
ele.style.position=‘relative‘;
check(0,i-1);
function check(){
for(var i=0;i<arguments.length;i++){
var x=arguments[i];
var c=panels[x].firstChild.childNodes;
c[0].style.visibility=x==0?‘hidden‘:‘visible‘;
c[1].style.visibility=x==panels.length-1?‘hidden‘:‘visible‘;
panels[x].index=x;
}
}
function moveup(evt){
var p=evt?evt.target:event.srcElement;
p=p.parentNode.parentNode;
swap(p,panels[p.index-1]);
}
function movedown(evt){
var p=evt?evt.target:event.srcElement;
p=p.parentNode.parentNode;
swap(p,panels[p.index+1]);
}
function swap(p1,p2){
var N=10;
var INTV=200;
var arr1,arr2;
var t1=parseInt(p1.style.top),t2=parseInt(p2.style.top);
var h1=p1.offsetHeight+margin,h2=p2.offsetHeight+margin;
arr1=makeArr(t1,t1<t2?h2:-h2);
arr2=makeArr(t2,t1<t2?-h1:h1);
for(var i=0;i<N;i++)(function(){
var j=i;
setTimeout(function(){
p1.style.top=arr1[j]+"px";
p2.style.top=arr2[j]+"px";
if(j==N-1){
panels[p1.index]=p2;
panels[p2.index]=p1;
check(p1.index,p2.index);
}
},(j+1)*INTV/N);
})();
function makeArr(f,x){
var ret=[];
for(var i=0;i<N;i++)
ret[i]=Math.round(f+i*x/(N-1));
return ret;
}
}
function children(e){
var ret=[];
for(var i=0,c=e.childNodes;i<c.length;i++)
if(c[i].nodeType==1)
ret.push(c[i]);
return ret;
}
}
//]]>
</script>
</head>
<body>
<ul id="test">
<li> <div class="txt"><h2>Hello<br />baby</h2></div></li>
<li> <div class="txt">
显示内容1显示内容1显示内容1显示内容1
</div></li>
<li>
<div class="txt">
<i>人之初,性本善</i>
</div></li>
<li>
<div class="txt">
显示内容2<br />显示<br />...<br />显示内容2!
</div></li>
</ul>
<div>http://www.999jiujiu.com/</div>
</body>
</html>

时间: 2024-10-09 23:06:16

仿265层移动上移、下移,支持IE、FF的相关文章

利用jQuery操作select列表选项的上移下移示例

导读:本文实现了一个简单的select列表选项的上移下移操作,可帮助读者了解jQuery选择器,节点操作的一些常用方法 实现的效果: 分享代码: 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="MoveNode_Default" %> 2 3 <!DOCTYPE html PUBLIC &

上移下移扩展版 【总结】

需求 上移下移 需求: 1)点击上移就将当前的按钮的父级上移一位 2)当点击第一个时候将当前按钮的父级移动到最后一位 3)当点击最后一个时候将当前按钮的父级移动到首位 4)带过渡动画 需求分析: 下移:剪切所点击的条目插入到下一条目后面 上移:剪切所点击的条目插入到上一条目前面 过渡效果实现:CSS3的transition 或 js实现 实现思路: transition实现方法,先在CSS里设置好transition: 1s top; 这个样式,然后鼠标点击修改top值触发过渡效果. 需要用js

AngularJS实现数据列表的增加、删除和上移下移等功能实例

转: http://www.jb51.net/article/91991.htm 这篇文章给大家分享了AngularJS循环实现数据列表的增加.删除和上移下移等基础功能,对大家学习AngularJS具有一定的参考借鉴价值,有需要的朋友可以看看. 效果图 实例代码 <!DOCTYPE html> <html lang="en" ng-app="myapp" ng-controller="myCtrl"> <head&g

js 上移下移行

function up_tr(sender) {                            var tr = $(sender).parent().parent();                            var table = tr.parent();                            var first = $("tr:first", table);                            if (tr.html() =

JS移动li行数据,点击上移下移(是位置的互换,不是top的偏移量改变)

<!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><meta content="text/html; cha

jquery行上移下移删除

<!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><meta http-equiv="Content-Typ

php修改排序,上移下移

php修改排序,上移下移 /**  $UpDown //移动方向,up或down  $table //表名  $id //当前移动的ID  $id_col //ID字段的名称  $oc_col //排序字段的名称  $where //条件 */ function MoveUpDown($UpDown,$table,$id,$id_col='id',$oc_col='OrderColumn',$where='')  {    if($UpDown=='up'){$op='<';$desc='des

TcxTreeList 节点 上移 下移 代码

if not Assigned(cxDBTreeList1.FocusedNode) then Exit; // 上移方法: with cxDBTreeList1 do FocusedNode.MoveTo(FocusedNode.getPrevSibling, tlamInsert); // 下移方法: with cxDBTreeList1 do FocusedNode.getNextSibling.MoveTo(FocusedNode, tlamInsert); TcxTreeList 节点

wpf listbox 选中项 上移下移

原文:wpf listbox 选中项 上移下移 private void MoveUp_Click(object sender, RoutedEventArgs e) ?? ? ? ?{ ?? ? ? ? ? ?DataRowView rowView = this.listScrip.SelectedItem as DataRowView; ?? ? ? ? ? ?if (rowView == null) ?? ? ? ? ? ?{ ?? ? ? ? ? ? ? ?return; ?? ? ?