欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS实现多个DIV上下移动随意交换位置

程序员文章站 2022-03-01 13:05:20
...
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JS实现多个DIV上下移动随意交换位置</title>
    <style>
        ul{
            width: 50px;
        }
        li{
            font-size: 20px;
        }
        .UpBtn,.Down{
            font-size: 15px;
            border: 1px solid red;
            padding: 5px;
        }
    </style>
</head>
<body>
    <ul>
        <li>
            1
            <div class="UpBtn">上移</div>
            <div class="Down">下移</div>
        </li>
        <li>
            2
            <div class="UpBtn">上移</div>
            <div class="Down">下移</div>
        </li>
        <li>
            3
            <div class="UpBtn">上移</div>
            <div class="Down">下移</div>
        </li>
        <li>
            4
            <div class="UpBtn">上移</div>
            <div class="Down">下移</div>
        </li>
        <li class="a">
            5
            <div class="UpBtn">上移</div>
            <div class="Down">下移</div>
        </li>
        <li>
            6
            <div class="UpBtn">上移</div>
            <div class="Down">下移</div>
        </li>
        <li>
            7
            <div class="UpBtn">上移</div>
            <div class="Down">下移</div>
        </li>
        <li>
            8
            <div class="UpBtn">上移</div>
            <div class="Down">下移</div>
        </li>
    </ul>
    
</body>
<script src="jq.js"></script>
<script>
    var _length = $('ul li').length;
    //上移
    $('.UpBtn').click(function(){
        var html = $(this).parent();
        var index = $(this).parent().index();
        index-=1;
        if (index >= 0) {
            $(this).parent().siblings().eq(index).before(html);   
        }
        
    })
    //下移
    $('.Down').click(function(){
        var html = $(this).parent();
        var index = $(this).parent().index();
        index++;
        if (index <= _length) {
            $(this).parent().siblings().eq(index-1).after(html);  
        }
        
    })
</script>
</html>