WebApi经典案例

这篇博客介绍了两个HTML和JavaScript实现的交互应用:一是通过按钮控制页面背景色开关,模拟开关灯效果;二是实现了一个简单的点餐系统,包括全选/全不选功能,用户可以通过复选框选择菜品。示例代码详细展示了如何使用JavaScript监听事件并处理用户操作,以实现页面动态更新。
摘要由CSDN通过智能技术生成

开关灯

<!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>

    <button>关灯</button>

    <script>

        let flag = true

        document.querySelector('button').addEventListener('click', () => {

            if (flag == true) {

                document.body.style.backgroundColor = '#333'

                flag = false

            } else {

                document.body.style.backgroundColor = '#fff'

                flag = true

            }

        })

    </script>

</body>

</html>

点餐系统

<!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>

        * {

            margin: 0;

            padding: 0;

        }

        table {

            border-collapse: collapse;

            border: 1px solid #c0c0c0;

            width: 500px;

            margin: 100px auto;

            text-align: center;

        }

        th {

            background-color: #09c;

            font: bold 16px "微软雅黑";

            color: #fff;

            height: 24px;

        }

        td {

            border: 1px solid #d0d0d0;

            color: #404060;

            padding: 10px;

        }

    </style>

    <script>

        window.onload = function () {

            // 获取相关元素

            const checkAll = document.querySelector('#checkAll')

            const checks = document.querySelectorAll('.check')

            // console.log(checks)

            // 大复选框控制小复选框

            checkAll.addEventListener('click', () => {

                checks.forEach(item => {

                    if (checkAll) {

                        item.checked = checkAll.checked

                    }

                })

            })

            // 方案一:假设法

            // // 小复选框控制大复选框

            // checks.forEach(item => {

            //     item.addEventListener('click', () => {

            //         let flag = true

            //         checks.forEach(items => {

            //             if (!items.checked) {

            //                 flag = false

            //             }

            //         })

            //         checkAll.checked = flag

            //     })

            // })

            // 方案二:判断数组长度

            checks.forEach(item => {

                item.addEventListener('click', () => {

                    let index = 0

                    checks.forEach(items => {

                        if (items.checked) return index++

                    })

                    checkAll.checked = index == checks.length ? true : false

                })

            })

        }

    </script>

</head>

<body>

    <table>

        <tr>

            <th>

                <input type="checkbox" id="checkAll" />全选/全不选

            </th>

            <th>菜名</th>

            <th>商家</th>

            <th>价格</th>

        </tr>

        <tr>

            <td>

                <input type="checkbox" class="check" />

            </td>

            <td>红烧肉</td>

            <td>隆江猪脚饭</td>

            <td>¥200</td>

        </tr>

        <tr>

            <td>

                <input type="checkbox" class="check" />

            </td>

            <td>香酥排骨</td>

            <td>隆江猪脚饭</td>

            <td>¥998</td>

        </tr>

        <tr>

            <td>

                <input type="checkbox" class="check" />

            </td>

            <td>北京烤鸭</td>

            <td>隆江猪脚饭</td>

            <td>¥88</td>

        </tr>

    </table>

</body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值