zoukankan      html  css  js  c++  java
  • jquery练习题

    1.自定义登录校验

      用户输入用户名和密码

      输入的用户名和密码不能为空

      如果用户输入的用户名或者密码为空,你就提示它用户名不能为空或者密码不能为空.

    知识点:文本操作相关

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="x-ua-compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <title>文本操作之登录验证</title>
      <style>
        .error {
          color: red;
        }
      </style>
    </head>
    <body>
    
    <form action="">
      <div>
        <label for="input-name">用户名</label>
        <input type="text" id="input-name" name="name">
        <span class="error"></span>
      </div>
      <div>
        <label for="input-password">密码</label>
        <input type="password" id="input-password" name="password">
        <span class="error"></span>
      </div>
      <div>
        <input type="button" id="btn" value="提交">
      </div>
    </form>
    <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    <script>
      $("#btn").click(function () {
        var username = $("#input-name").val();
        var password = $("#input-password").val();
    
        if (username.length === 0) {
          $("#input-name").siblings(".error").text("用户名不能为空");
        }
        if (password.length === 0) {
          $("#input-password").siblings(".error").text("密码不能为空");
        }
      })
    </script>
    </body>
    </html>

    2.全选反选取消

    知识点:属性操作

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <button id="all">全选</button>
    <button id="reverse">反选</button>
    <button id="cancel">取消</button>
    <table border="1">
       <thead>
        <tr>
            <th>#</th>
            <th>姓名</th>
            <th>爱好</th>
        </tr>
       </thead>
        <tbody>
        <tr>
            <td><input type="checkbox"></td>
            <td>金老板</td>
            <td>开车</td>
        </tr>
        <tr>
            <td><input type="checkbox"></td>
            <td>景女神</td>
            <td>茶道</td>
        </tr>
        <tr>
            <td><input type="checkbox"></td>
            <td>苑昊(苑局)</td>
            <td>不洗头、不翻车、不要脸</td>
        </tr>
        </tbody>
    </table>
    
    <script src="jquery.js"></script>
    <script>
        // 点击全选按钮 选中所有的checkbox
        // DOM绑定事件方法
        // $("#all")[0].onclick = function(){}
        // jQuery绑定事件方法
        $("#all").click(function () {
            $(":checkbox").prop('checked', true);
        });
        // 取消
        $("#cancel").on("click", function () {
             $(":checkbox").prop('checked', false);
        });
        // 反选
        $("#reverse").click(function () {
            // 1. 找到所有选中的checkbox取消选中
            // $("input:checked").prop('checked', false);
            // // 2. 找到没有选中的checkbox选中
            // $("input:not(:checked)").prop('checked', true);
            //你会发现上面这么写,不行,为什么呢?因为你做了第一步操作之后,再做第二步操作的时候,所有标签就已经全部取消选中了,所以第二步就把所有标签选中了
    
            // 方法1. for循环所有的checkbox,挨个判断原来选中就取消选中,原来没选中就选中
            var $checkbox = $(":checkbox");
            for (var i=0;i<$checkbox.length;i++){
                // 获取原来的选中与否的状态
                var status = $($checkbox[i]).prop('checked');
                $($checkbox[i]).prop('checked', !status);
            }
            // 方法2. 先用变量把标签原来的状态保存下来
        //     var $unchecked =  $("input:not(:checked)");
        //     var $checked = $("input:checked");
        //
        //     $unchecked.prop('checked', true);
        //     $checked.prop('checked', false);
        })
    
    </script>
    </body>
    </html>

    3.左侧菜单示例(点击一个,其余的关闭)

    <!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">
      <title>左侧菜单示例</title>
      <style>
        .left {
          position: fixed;
          left: 0;
          top: 0;
          width: 20%;
          height: 100%;
          background-color: rgb(47, 53, 61);
        }
    
        .right {
          width: 80%;
          height: 100%;
        }
    
        .menu {
          color: white;
        }
    
        .title {
          text-align: center;
          padding: 10px 15px;
          border-bottom: 1px solid #23282e;
        }
    
        .items {
          background-color: #181c20;
    
        }
        .item {
          padding: 5px 10px;
          border-bottom: 1px solid #23282e;
        }
    
        .hide {
          display: none;
        }
      </style>
    </head>
    <body>
    
    <div class="left">
      <div class="menu">
        <div class="title">菜单一</div>
        <div class="items">
          <div class="item">111</div>
          <div class="item">222</div>
          <div class="item">333</div>
        </div>
        <div class="title">菜单二</div>
        <div class="items hide">
          <div class="item">111</div>
          <div class="item">222</div>
          <div class="item">333</div>
        </div>
        <div class="title">菜单三</div>
        <div class="items hide">
          <div class="item">111</div>
          <div class="item">222</div>
          <div class="item">333</div>
        </div>
      </div>
    </div>
    <div class="right"></div>
    <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    
    <script>
      $(".title").click(function (){  // jQuery绑定事件
        // 隐藏所有class里有.items的标签
        $(".items").addClass("hide");  //批量操作
        $(this).next().removeClass("hide");
      });
    </script>

    4.模态对话框,点击按钮弹出对话框,对话框里面有个按钮,一点击就关闭对话框(注册或者登陆)

      第一步:手写弹出框代码

  • 相关阅读:
    RestTemplate proxy 设置方式
    一道关于主键,闭包的软考题------关系代数复习-码,范式,闭包求解
    MyBatis的XML中使用内部类的方式
    MyBatis SpringBoot 杂记
    服务器安装笔记
    UML符号
    npm 设置代理
    国外一家代码网站
    设计模式复习
    docker 列出每个容器的IP
  • 原文地址:https://www.cnblogs.com/studybrother/p/10385464.html
Copyright © 2011-2022 走看看