Web APIs 实用案例

01-页面滚动事件

<!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>Document</title>
    <style>
        body {
    
            height: 3000px;
        }
        
        div {
    
            width: 200px;
            height: 200px;
            background-color: pink;
            overflow: auto;
        }
    </style>
</head>

<body>
    <div>我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字</div>
    <script>
        //监听整个页面滚动
        // window.addEventListener('scroll', function() {
    
        //     // alert(1)
        // })

        //监听div盒子的滚动
        //获取div元素
        let div = document.querySelector('div');
        div.addEventListener('scroll', function() {
    
            alert(1)
        })
    </script>
</body>

</html>

效果展示

在这里插入图片描述

02-页面加载事件

<!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>Document</title>
</head>

<body>
    <!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>Document</title>
        <style>
            body {
    
                height: 3000px;
            }
            
            div {
    
                width: 200px;
                height: 200px;
                background-color: pink;
                overflow: auto;
            }
        </style>
        <script>
            // 1. 等页面加载完毕执行以下代码
            // window.addEventListener('load', function() {
    
            //     let div = document.querySelector('div');
            //     console.log(div);
            // })
            // 2. 等初始的HTML文档(DOM)被完全加载和解析完成之后,触发事件
            document.addEventListener('DOMContentLoaded', function() {
    
                let div = document.querySelector('div');
                console.log(div);
            })
        </script>
    </head>

    <body>
        <div>我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字我里面可以放很多的文字</div>

    </body>

    </html>
</body>

</html>

03-三大家族宽高对比

<!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>Document</title>
    <style>
        * {
    
            padding: 0;
            margin: 0;
        }
        
        div {
    
            width: 150px;
            height: 150px;
            background-color: pink;
            overflow: auto;
            padding: 10px;
            border: 10px solid red;
            margin: 100px;
        }
    </style>
</head>

<body>
    <div>我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容我有很多很多内容</div>
    <script>
        // 1. scrollWidth 和 scrollHeight(了解)   实际内容的宽高,不包含滚动条,不含边框
        let div = document.querySelector('div');
        console.log(div.scrollHeight); // 416 不带单位 
        console.log(div.scrollWidth); // 150 不带单位
        console.log('---------------------------------------------------------------------------------------');
        // offset 盒子元素的大小=盒子本身的宽度和高度 + border + padding 
        console.log(div.offsetWidth);
        console.log(div.offsetHeight);
        console.log(div.offsetLeft);
        console.log(div.offsetTop);
        // client 当前可视区域 获取元素当前可见区域的宽高(不含边框,滚动条)
        console.log('---------------------------------------------------------------------------------------');

        console.log(div.clientHeight);
        console.log(div.clientWidth);
        console.log(div.clientLeft);
        console.log(div.clientTop); //边框的宽度 了解




        // // 2.被卷去的头部(包含上边框)和左侧(包含左边框)  scrollLeft 和 scrollTop
        // div.addEventListener('scroll', function() {
    
        //     console.log(this.scrollLeft);
        //     console.log(this.scrollTop);
        // })
    </script>
</body>

</html>

04-检测页面滚动的距离

<!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>Document</title>
    <style>
        body {
    
            height: 3000px;
        }
    </style>
</head>

<body>
    <script>
        // console.log(document.documentElement); // 返回html标签  document.documentElement=document.html,这种写法兼容,document.html不兼容
        // 先做页面滚动事件
        window.addEventListener('scroll', function() {
    
                // console.log(1);
                console
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
设计一个webapis学生报名系统的代码步骤如下: 1. 数据库设计:首先确定需要存储的数据,例如学生的基本信息,课程信息等。根据需求设计数据库表结构,并创建相应的表。 2. 后端接口设计:根据系统需求,设计后端接口,包括学生信息的录入、查询、修改和删除等功能。使用合适的编程语言,如Java、Python等,实现这些接口。 3. 前端界面设计:设计一个用户友好的前端界面,包括学生报名表单和查询功能。使用HTML、CSS、JavaScript等技术实现界面的布局和交互,确保用户能够方便地输入和查询信息。 4. 前后端交互:通过AJAX或其他技术,实现前后端的数据交互。前端向后端发送请求,后端处理请求并返回相应的数据。 5. 学生信息录入:在前端界面设计好的报名表单中,用户输入个人信息,通过调用后端接口将数据传递到后台。后台接收并验证输入的数据,并将学生信息存储到数据库中。 6. 学生信息查询:在前端界面设计好的查询功能中,用户输入需要查询的条件,通过调用后端接口将查询条件传递到后台。后台根据查询条件在数据库中查找匹配的学生信息,并将查询结果返回给前端。 7. 学生信息修改和删除:在前端界面设计好的修改和删除功能中,用户选择需要修改或删除的学生信息,并通过调用后端接口将相应的操作请求传递到后台。后台根据请求进行相应的操作,更新或删除数据库中的对应数据。 8. 错误处理和数据校验:在整个系统设计过程中,需要考虑错误处理和数据校验。在后端接口中,对输入的数据进行合法性检查,确保输入的数据符合要求。在前端界面中,对用户的输入进行格式验证,及时反馈给用户。 9. 安全性保障:为了保障系统的安全性,可以采用身份认证、权限控制等机制,确保只有授权的用户能够进行报名和查询等操作。 10. 测试和部署:在完成系统开发后,进行系统的测试和调试。确保系统的正确性和稳定性。最后将系统部署到服务器上,供用户使用。 以上是一个简单的webapis学生报名系统代码步骤,具体实现还需要根据具体需求进行调整和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值