js 小脚本集合

练习用的 js 脚本,或许用得上。

原生 js 验证用户名和密码不能为空

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="">
    <span id="ss"></span>
    <div>
        <label for="username">用户名:</label>
        <input type="text" name="username" id="username">
        <span class="error" style="font-size: 12px; color: red;"></span>
    </div>
    <div>
        <label for="password">密码:</label>
        <input type="password" name="password" id="password">
        <span class="error" style="font-size: 12px; color: red;"></span>
    </div>
    <button type="button" id="btn">登录</button>
</form>

<script>
    var btnEle = document.getElementById('btn');
    btnEle.onclick = function () {
        document.getElementById('ss').innerText = '';
        var unameEle = document.getElementById('username');
        var uname = unameEle.value;
        unameEle.nextElementSibling.innerHTML = '';
        var pwdEle = document.getElementById('password');
        var pwd = pwdEle.value;
        pwdEle.nextElementSibling.innerHTML = '';
        if (uname.trim().length === 0) {
            unameEle.nextElementSibling.innerHTML = '用户名不能为空!'
        }
        else if (pwd.trim().length === 0) {
            pwdEle.nextElementSibling.innerHTML = '密码不能为空!'
        }
        else{
            document.getElementById('ss').innerText = '登陆成功!'
        }
    }
</script>
</body>
</html>

代码执行效果:

jQuery 模态对话框

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .shadow{
            position: fixed;  /* 固定定位 */
            top:0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(0,0,0,0.8);
            z-index: 90; /* 控制定位的元素的层级,数字越大越在上层显示 */
            display: none;
        }
        .login{
            position: fixed;
            top:50%;
            left: 50%;
            background-color: white;
            width: 300px;
            height: 360px;
            z-index: 100;
            margin-left: -150px;
            margin-top: -180px;
            display: none;
        }
    </style>
</head>
<body>
<h1>26期新热榜</h1>
<button id="btn">弹他</button>

<div class="login">
    <!--<form action="">-->
        <h3 style="text-align: center">欢迎来到王者荣耀</h3>

        <div>
            用户名:<input type="text">
        </div>
        <div>
             密码:<input type="text">
        </div>
        <div>
            <button id="login-btn">登录</button>
            <button id="login-cancel">取消</button>
        </div>
    <!--</form>-->
</div>

<div class="shadow"></div>

</body>
<script src="jquery.js"></script>
<script>
    $('#btn').click(function () {
        $('.login').css('display', 'block');
        $('.shadow').css('display', 'block')
    })
</script>
<script>
    $('#login-cancel').click(function () {
        $('.login').css('display', 'none');
        $('.shadow').css('display', 'none')
    })
</script>
</html>

代码执行效果:

jQuery 表格动态增删

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
        <style>
        .shadow{
            position: fixed;  /* 固定定位 */
            top:0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(0,0,0,0.8);
            z-index: 90; /* 控制定位的元素的层级,数字越大越在上层显示 */
            display: none;
        }
        .insert-win{
            position: fixed;
            top:50%;
            left: 50%;
            background-color: white;
            width: 300px;
            height: 360px;
            z-index: 100;
            margin-left: -150px;
            margin-top: -180px;
            display: none;
        }

    </style>
</head>
<body>
<button type="button" class="insert-btn">添加内容</button>
<table border="1">
    <thead>
    <tr>
        <th>#</th>
        <th>姓名</th>
        <th>爱好</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td><input type="checkbox" name="select" value="1"></td>
        <td>alex</td>
        <td>抽烟</td>
        <td><button type="button" class="delete">删除</button></td>
    </tr>
    <tr>
        <td><input type="checkbox" name="select" value="2"></td>
        <td>baoyuan</td>
        <td>喝酒</td>
        <td><button type="button" class="delete">删除</button></td>
    </tr>
    <tr>
        <td><input type="checkbox" name="select" value="3"></td>
        <td>wusir</td>
        <td>烫头</td>
        <td><button type="button" class="delete">删除</button></td>
    </tr>
    </tbody>
</table>
<div class="insert-win">
    <!--<form action="">-->
        <h3 style="text-align: center">请输入要插入的数据内容</h3>

        <div>
            姓名:<input type="text" name="name" id="name">
        </div>
        <div>
             爱好:<input type="text" name="hobby" id="hobby">
        </div>
        <div>
            <button id="insert">插入</button>
            <button id="insert-cancel">取消</button>
        </div>
    <!--</form>-->
</div>

<div class="shadow"></div>
</body>
<script src="jquery.js"></script>
<script>
    $('.insert-btn').click(function () {
        $('.insert-win').css('display', 'block');
        $('.shadow').css('display', 'block')
    });
    $('#insert-cancel').click(function () {
        $('.insert-win').css('display', 'none');
        $('.shadow').css('display', 'none');
        $('#name').val('');
        $('#hobby').val('');
    });
    $('tbody').on('click', '.delete', function () {
        $(this).parent().parent().remove()
    });
    $('#insert').click(function () {
        var name = $('#name').val();
        var hobby = $('#hobby').val();
        var code = `<tr><td><input type="checkbox" name="select" value="3"></td><td>${name}</td><td>${hobby}</td><td><button type="button" class="delete">删除</button></td></tr>`;
        $('tbody').append(code);
        $('.insert-win').css('display', 'none');
        $('.shadow').css('display', 'none');
        $('#name').val('');
        $('#hobby').val('');
    })
</script>
</html>

代码示例:

jQuery 全选反选取消选择

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<button type="button" id="select_all">全选</button>
<button type="button" id="reverse_select">反选</button>
<button type="button" id="cancel_select">取消</button>
<table border="1">
    <thead>
    <tr>
        <th>#</th>
        <th>姓名</th>
        <th>爱好</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td><input type="checkbox" name="select" value="1"></td>
        <td>alex</td>
        <td>抽烟</td>
    </tr>
    <tr>
        <td><input type="checkbox" name="select" value="2"></td>
        <td>baoyuan</td>
        <td>喝酒</td>
    </tr>
    <tr>
        <td><input type="checkbox" name="select" value="3"></td>
        <td>wusir</td>
        <td>烫头</td>
    </tr>
    </tbody>
</table>

</body>
<script src="jquery.js"></script>
<script>
    $('#select_all').click(function () {
        $(':checkbox').prop('checked', true)
    });
    $('#cancel_select').click(function () {
        $(':checkbox').prop('checked', false)
    });
    $('#reverse_select').click(function () {
        for (var i = 0; i < $(':checkbox').length; i++) {
            if ($(':checkbox').eq(i).prop('checked')) {
                $(':checkbox').eq(i).prop('checked', false)
            }
            else {
                $(':checkbox').eq(i).prop('checked', true)
            }
        }
    })
</script>

</html>

jQuery 表格动态增删改查 + 全选反选取消选择

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表格的增删改</title>
    <style>
        .shadow{
            position: fixed;
            left: 0;
            top: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(0, 0, 0, 0.9);
        }
        .win{
            background-color: #ffffff;
            height: 350px;
            width: 300px;
            position: fixed;
            top: 50%;
            left: 50%;
            margin-left: -150px;
            margin-top: -175px;
            z-index: 10;
        }
        .hide{
            display: none;
        }
    </style>
</head>
<body>
<div class="shadow hide"></div>
<div class="insert-win win hide">
    <h3 style="text-align: center">请输入要插入的数据内容</h3>
    <div>
        姓名:<input type="text" name="name" id="insert-name">
    </div>
    <div>
         爱好:<input type="text" name="hobby" id="insert-hobby">
    </div>
    <div>
        <button id="insert">插入</button>
        <button id="insert-cancel">取消</button>
        </div>
</div>
<div class="edit-win win hide">
    <h3 style="text-align: center">请输入要修改的数据内容</h3>
    <div>
        姓名:<input type="text" name="name" id="edit-name">
    </div>
    <div>
         爱好:<input type="text" name="hobby" id="edit-hobby">
    </div>
    <div>
        <button id="edit">修改</button>
        <button id="edit-cancel">取消</button>
        </div>
</div>
<button type="button" class="insert-btn">添加内容</button>
<button type="button" class="select-all">全选</button>
<button type="button" class="reverse-select">反选</button>
<button type="button" class="cancel-select">取消</button>
<table border="1">
    <thead>
    <tr>
        <th>#</th>
        <th>姓名</th>
        <th>爱好</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td><input type="checkbox" name="select" value="1" class="check"></td>
        <td>alex</td>
        <td>抽烟</td>
        <td><button type="button" class="delete">删除</button><button type="button" class="edit">修改</button></td>
    </tr>
    <tr>
        <td><input type="checkbox" name="select" value="2" class="check"></td>
        <td>baoyuan</td>
        <td>喝酒</td>
        <td><button type="button" class="delete">删除</button><button type="button" class="edit">修改</button></td>
    </tr>
    <tr>
        <td><input type="checkbox" name="select" value="3" class="check"></td>
        <td>wusir</td>
        <td>烫头</td>
        <td><button type="button" class="delete">删除</button><button type="button" class="edit">修改</button></td>
    </tr>
    </tbody>
</table>
</body>
<script src="jquery.js"></script>
<script>
    $('.insert-btn').click(function () {
        $('.shadow').removeClass('hide');
        $('.insert-win').removeClass('hide')
    });
    $('#insert-cancel').click(function () {
        $('.shadow').addClass('hide');
        $('.insert-win').addClass('hide');
        $('#insert-name').val('');
        $('#insert-hobby').val('')
    });
    $('#edit-cancel').click(function () {
        $('.shadow').addClass('hide');
        $('.edit-win').addClass('hide');
        $('#edit-name').val('');
        $('#edit-hobby').val('')
    });
    $('#insert').click(function () {
        var name = $('#insert-name').val();
        var hobby = $('#insert-hobby').val();
        var tag_cbox = $('<td>').append($('<input>', {type: "checkbox", name: "select", value: "3", class: "check"}));
        var tag_name = $('<td>').text(name);
        var tag_hobby = $('<td>').text(hobby);
        var button_delete = $('<button>', {type: "button", class: "delete"}).text('删除');
        var button_edit = $('<button>', {type: "button", class: "edit"}).text('修改');
        var tag_operation = $('<td>').append(button_delete).append(button_edit);
        var new_tag = $('<tr>').append(tag_cbox).append(tag_name).append(tag_hobby).append(tag_operation);
        $('tbody').append(new_tag);
        $('#insert-name').val('');
        $('#insert-hobby').val('');
        $('.shadow').addClass('hide');
        $('.insert-win').addClass('hide');
    });
    $('#edit').click(function () {
        var name = $('#edit-name').val();
        var hobby = $('#edit-hobby').val();
        edit_tag.parent().prev().text(hobby);
        edit_tag.parent().prev().prev().text(name);
        $('.shadow').addClass('hide');
        $('.edit-win').addClass('hide');
        $('#edit-name').val('');
        $('#edit-hobby').val('')
    });
    $('tbody').on('click', '.delete', function () {
        $(this).parent().parent().remove()
    });
    $('tbody').on('click', '.edit', function () {
        $('.shadow').removeClass('hide');
        $('.edit-win').removeClass('hide');
        edit_tag = $(this)
    });
    $('.select-all').click(function () {
        $('.check').prop('checked', true)
    });
    $('.cancel-select').click(function () {
        $('.check').prop('checked', false)
    });
    $('.reverse-select').click(function () {
        for (var i = 0; i < $('.check').length; i++) {
            var check_status = $('.check').eq(i).prop('checked');
            $('.check').eq(i).prop('checked', !check_status)
        }
    })
</script>
</html>

代码执行效果

jQuery 联动标签

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>联动标签</title>
    <style>
        .hide{
            display: none;
        }
    </style>
</head>
<body>
<label for="province">省份</label>
<select name="province" id="province">
    <option value="0">请选择省份</option>
</select>
<label for="city" class="city hide">城市</label>
<select name="city" id="city" class="city hide">
    <option value="0">请选择城市</option>
</select>
</body>
<script src="jquery.js"></script>
<script>
    var data = {
        北京: ["东城区", "西城区", "崇文区", "宣武区", "朝阳区", "海淀区", "丰台区", "石景山区", "房山区", "通州区", "顺义区", "昌平区", "大兴区", "怀柔区", "平谷区", "门头沟区", "密云县", "延庆县"],
        天津: ["和平区", "河东区", "河西区", "南开区", "河北区", "红桥区", "东丽区", "西青区", "北辰区", "津南区", "武清区", "宝坻区", "滨海新区", "静海县", "宁河县", "蓟县"],
        上海: ["黄浦区", "卢湾区", "徐汇区", "长宁区", "静安区", "普陀区", "闸北区", "虹口区", "杨浦区", "闵行区", "宝山区", "嘉定区", "浦东新区", "金山区", "松江区", "青浦区", "奉贤区", "崇明县"],
        重庆: ["渝中区", "大渡口区", "江北区", "南岸区", "北碚区", "渝北区", "巴南区", "长寿区", "双桥区", "沙坪坝区", "万盛区", "万州区", "涪陵区", "黔江区", "永川区", "合川区", "江津区", "九龙坡区", "南川区", "綦江县", "潼南县", "荣昌县", "璧山县", "大足县", "铜梁县", "梁平县", "开县", "忠县", "城口县", "垫江县", "武隆县", "丰都县", "奉节县", "云阳县", "巫溪县", "巫山县", "石柱土家族自治县", "秀山土家族苗族自治县", "酉阳土家族苗族自治县", "彭水苗族土家族自治县"],
        河北: ["石家庄", "唐山", "秦皇岛", "邯郸", "邢台", "保定", "张家口", "承德", "沧州", "廊坊", "衡水"],
        山西: ["太原", "大同", "阳泉", "长治", "晋城", "朔州", "晋中", "运城", "忻州", "临汾", "吕梁"],
        辽宁: ["沈阳", "大连", "鞍山", "抚顺", "本溪", "丹东", "锦州", "营口", "阜新", "辽阳", "盘锦", "铁岭", "朝阳", "葫芦岛"],
        吉林: ["长春", "吉林", "四平", "辽源", "通化", "白山", "松原", "白城", "延边朝鲜族自治州"],
        黑龙江: ["哈尔滨", "齐齐哈尔", "鹤岗", "双鸭山", "鸡西", "大庆", "伊春", "牡丹江", "佳木斯", "七台河", "黑河", "绥化", "大兴安岭"],
        江苏: ["南京", "苏州", "无锡", "常州", "镇江", "南通", "泰州", "扬州", "盐城", "连云港", "徐州", "淮安", "宿迁"],
        浙江: ["杭州", "宁波", "温州", "嘉兴", "湖州", "绍兴", "金华", "衢州", "舟山", "台州", "丽水"],
        安徽: ["合肥", "芜湖", "蚌埠", "淮南", "马鞍山", "淮北", "铜陵", "安庆", "黄山", "滁州", "阜阳", "宿州", "巢湖", "六安", "亳州", "池州", "宣城"],
        福建: ["福州", "厦门", "莆田", "三明", "泉州", "漳州", "南平", "龙岩", "宁德"],
        江西: ["南昌", "景德镇", "萍乡", "九江", "新余", "鹰潭", "赣州", "吉安", "宜春", "抚州", "上饶"],
        山东: ["济南", "青岛", "淄博", "枣庄", "东营", "烟台", "潍坊", "济宁", "泰安", "威海", "日照", "莱芜", "临沂", "德州", "聊城", "滨州", "菏泽"],
        河南: ["郑州", "开封", "洛阳", "平顶山", "安阳", "鹤壁", "新乡", "焦作", "濮阳", "许昌", "漯河", "三门峡", "南阳", "商丘", "信阳", "周口", "驻马店"],
        湖北: ["武汉", "黄石", "十堰", "荆州", "宜昌", "襄樊", "鄂州", "荆门", "孝感", "黄冈", "咸宁", "随州", "恩施"],
        湖南: ["长沙", "株洲", "湘潭", "衡阳", "邵阳", "岳阳", "常德", "张家界", "益阳", "郴州", "永州", "怀化", "娄底", "湘西"],
        广东: ["广州", "深圳", "珠海", "汕头", "韶关", "佛山", "江门", "湛江", "茂名", "肇庆", "惠州", "梅州", "汕尾", "河源", "阳江", "清远", "东莞", "中山", "潮州", "揭阳", "云浮"],
        海南: ["海口", "三亚"],
        四川: ["成都", "自贡", "攀枝花", "泸州", "德阳", "绵阳", "广元", "遂宁", "内江", "乐山", "南充", "眉山", "宜宾", "广安", "达州", "雅安", "巴中", "资阳", "阿坝", "甘孜", "凉山"],
        贵州: ["贵阳", "六盘水", "遵义", "安顺", "铜仁", "毕节", "黔西南", "黔东南", "黔南"],
        云南: ["昆明", "曲靖", "玉溪", "保山", "昭通", "丽江", "普洱", "临沧", "德宏", "怒江", "迪庆", "大理", "楚雄", "红河", "文山", "西双版纳"],
        陕西: ["西安", "铜川", "宝鸡", "咸阳", "渭南", "延安", "汉中", "榆林", "安康", "商洛"],
        甘肃: ["兰州", "嘉峪关", "金昌", "白银", "天水", "武威", "酒泉", "张掖", "庆阳", "平凉", "定西", "陇南", "临夏", "甘南"],
        青海: ["西宁", "海东", "海北", "海南", "黄南", "果洛", "玉树", "海西"],
        内蒙古: ["呼和浩特", "包头", "乌海", "赤峰", "通辽", "鄂尔多斯", "呼伦贝尔", "巴彦淖尔", "乌兰察布", "锡林郭勒盟", "兴安盟", "阿拉善盟"],
        广西: ["南宁", "柳州", "桂林", "梧州", "北海", "防城港", "钦州", "贵港", "玉林", "百色", "贺州", "河池", "来宾", "崇左"],
        西藏: ["拉萨", "那曲", "昌都", "林芝", "山南", "日喀则", "阿里"],
        宁夏: ["银川", "石嘴山", "吴忠", "固原", "中卫"],
        新疆维吾尔自治区: ["乌鲁木齐", "克拉玛依", "吐鲁番", "哈密", "和田", "阿克苏", "喀什", "克孜勒苏", "巴音郭楞", "昌吉", "博尔塔拉", "伊犁", "塔城", "阿勒泰"],
        香港: ["香港岛", "九龙东", "九龙西", "新界东", "新界西"],
        澳门: ["澳门半岛", "离岛"],
        台湾: ["台北", "高雄", "基隆", "新竹", "台中", "嘉义", "台南市"]
    };
    var pro = $('#province');
    for (var i in data) {
        pro.append(`<option value="${i}">${i}</option>`)
    }
    pro.change(function () {
        var city = $('#city');
        city.empty();
        city.append('<option value="0">请选择城市</option>');
        var pro_val = pro.val();
        if (pro_val === '0') {
            $('.city').addClass('hide')
        }
        else {
            $('.city').removeClass('hide');
            for (j in data[pro_val]) {
                city.append(`<option value="${data[pro_val][j]}">${data[pro_val][j]}</option>`)
            }
        }
    })
</script>
</html>

代码执行效果: