该实现主要是利用after()方法和before()方法来实现元素的顺序变化。
具体应用:可以应用到一些需要手动排序的地方。
好长时间没写过文章了,我已经在怀疑自己的文字表达能力了,不废话了,上代码,看实现。
<!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-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
.item_li{padding-left:10px; height:40px; line-height:40px; border:1px solid; margin-bottom:10px;}
.down { cursor:pointer;}
.up { cursor:pointer;}
</style>
<script type="text/javascript" src="jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(function(){
$(".down").click(function(e){
var parentsDiv = $(this).parents(".item_li");
var next = parentsDiv.next();
if(next.html()!=undefined){
//next.after(parentsDiv);
next.fadeOut("slow",function(){
$(this).after(parentsDiv);
}).fadeIn();
}else{
alert("到底了!");
}
});
$(".up").click(function(e){
var parentsDiv = $(this).parents(".item_li");
var prev = parentsDiv.prev();
if(prev.html()!=undefined){
//prev.before(parentsDiv);
prev.fadeOut("slow",function(){
$(this).before(parentsDiv);
}).fadeIn();
}else{
alert("到达最顶部了");
}
});
});
</script>
</head>
<body>
<div class="item_li">
11111
<span class="down" οnclick="">下移</span>
<span class="up" οnclick="">上移</span>
</div>
<div class="item_li">
22222
<span class="down" οnclick="">下移</span>
<span class="up" οnclick="">上移</span>
</div>
<div class="item_li">
33333
<span class="down" οnclick="">下移</span>
<span class="up" οnclick="">上移</span>
</div>
<div class="item_li">
44444
<span class="down" οnclick="">下移</span>
<span class="up" οnclick="">上移</span>
</div>
</body>
</html>