一个div中有三条数据,外围有上移和下移两个按钮,怎么用js实现选种某一条数据然后点击上下移动会上下动

<div class="taxta">
<p>主叫号码1</p>
<p>主叫号码2<p/>
<p>主叫号码3</p>
</div>

//上移
$("上移按钮").click(function(){
    if($("选中的数据").prev().length>0)
    {
        $("选中的数据").prev().before($("选中的数据"));
    }
});

//下移
$("下移按钮").click(function(){
    if($("选中的数据").next().length>0)
    {
        $("选中的数据").next().after($("选中的数据"));
    }
});

追问

大牛,也许你想的过于简单了,第一:主叫号码是随机选任一 一个一个都可以移动
第二:你选的那一个的内容也要跟着上下移动的
eg:你如果选主叫号码2。点击下移2也会往下,会把3替换到2的位置,不知道大牛能明白吗?万分感谢,你也可以参考二楼的思路

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-06
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script>
<style>
.selected{
background: #ff0000;
}
li{
list-style: none;
width: 100px;
}
</style>
</head>
<body>

<ul>
<li class="selected">主叫号码1</li>
<li>主叫号码2</li>
<li>主叫号码3</li>
</ul>

<button class="to-up">上移</button>
<button class="to-down">下移</button>

<script>
$(function(){

$(".to-up").click(function(event) {
var sel_index = $(".selected").index();
$("ul li").eq(sel_index).removeClass('selected');
if (sel_index==0) {
var up_index = $("ul li").length-1;
} else {
var up_index = sel_index;
}
$("ul li").eq(sel_index-1).addClass('selected');
});

$(".to-down").click(function(event) {
var sel_index = $(".selected").index();
$("ul li").eq(sel_index).removeClass('selected');
if (sel_index==$("ul li").length-1) {
var down_index = -1;
} else {
var down_index = sel_index;
}
$("ul li").eq(down_index+1).addClass('selected');
});

//传递参数时就获取含有selected样式的li标签
})
</script>
</body>
</html>

追问

大牛,也许你忽略了几个功能呢,第一:主叫号码是随机选任一 一个一个都可以移动
第二:你选的那一个的内容也要跟着上下移动的
eg:你如果选主叫号码2。点击下移2也会往下,会把3替换到2的位置,不知道大牛能明白吗?万分感谢

相似回答