我有一个值列表,包含上下按钮。如果我想要点击上按钮,该元素将会向上移动到列表中前一个值的位置,如果我点击下按钮,该元素将会向下移动到列表中下一个值的位置。这是我的示例代码:
<ul>
<li> 1 <button class="up">UP</button> <button class="down">DOWN</button></li>
<li> 2 <button class="up">UP</button> <button class="down">DOWN</button></li>
<li> 3 <button class="up">UP</button> <button class="down">DOWN</button></li>
<li> 4 <button class="up">UP</button> <button class="down">DOWN</button></li>
<li> 5 <button class="up">UP</button> <button class="down">DOWN</button></li>
</ul>
<script type="text/javascript">
function moveUp(element) {
if(element.previousElementSibling)
element.parentNode.insertBefore(element, element.previousElementSibling);
}
function moveDown(element) {
if(element.nextElementSibling)
element.parentNode.insertBefore(element.nextElementSibling, element);
}
document.querySelector('ul').addEventListener('click', function(e) {
if(e.target.className === 'down') moveDown(e.target.parentNode);
else if(e.target.className === 'up') moveUp(e.target.parentNode);
});
</script>
这是一个包含值列表的代码,但我希望以这种方式显示数组值,该方式基于索引执行上下函数。我的数组元素是:
[
{ id: "Racer-101", rank: "1"},
{ id: "Racer-102", rank: "2"},
{ id: "Racer-103", rank: "3"},
{ id: "Racer-104", rank: "4"},
{ id: "Racer-105", rank: "5"},
{ id: "Racer-106", rank: "6"},
{ id: "Racer-107", rank: "7"},
{ id: "Racer-108", rank: "8"},
{ id: "Racer-109", rank: "9"}
]
如何使用数组值实现这一点...
moveUp()
和moveDown()
函数与按钮绑定的内容。 - cнŝdk