前端制作简单的“注册页面——阅读协议”页面及效果

2023-10-30

注:如对文中的scrollHeight、scrollTop、clientHeight属性有所一伙,请参考博文“JavaScript中元素client、offset、scroll相关属性的应用”(链接:https://blog.csdn.net/m0_47015897/article/details/115426441)

效果图:
在这里插入图片描述
源码及解析:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>client_offset_scroll练习</title>
        <style>
            #tit{
                display: block;
                width: 400px;
                height: 20px;
                margin: 100px auto;
                text-align: center;
            }
            #info{
                margin: 20px auto;
                width: 300px;
                height: 400px;
                overflow: auto;
                border: solid 5px rgb(123, 123, 123, .3);
            }
            #cb{
                margin: 20px auto;
                text-align: left;
                width: 300px;
            }
            #btn{
                display: block;
                margin: 10px auto;
            }
        </style>
        <script>
            window.onload = function(){
                /* 
                    当垂直滚动条到底时使表单项可用
                    onscroll 
                        该事件会在滚动条滚动时触发
                 */
                var info = document.getElementById("info");
                var chec = document.getElementById("chec");
                var btn = document.getElementById("btn");
                info.onscroll = function(){
                    if(info.scrollHeight-info.scrollTop == info.clientHeight){
                        console.log("我滚完了~");
                        chec.disabled = false;
                        btn.disabled = false;
                    }else{
                        chec.disabled = true;
                        btn.disabled = true;
                    }
                }

                btn.onclick = function(){
                    if(chec.checked){
                        alert("恭喜你,注册成功!");
                    }else{
                        alert("请勾“同意该协议“,再进行注册!");
                    }
                }
            }
        </script>
    </head>
    <body>
        <h3 id="tit">亲爱的用户,请阅读以下协议再进行注册!</h1>
        <p id="info">亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
            亲爱的用户,请自习阅读该协议,否则您将无法注册!!
        </p>
        <p id="cb"><input type="checkbox" id="chec" disabled="disabled">
            我已阅读,且同意该协议!</p>
        <button id="btn" disabled="disabled">注册</button>
    </body>
</html>

希望本案例对你有所帮助,加油!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端制作简单的“注册页面——阅读协议”页面及效果 的相关文章

随机推荐

  • AI开源项目分享:pytorch增强图像数据、Tensorflow 2.0实现...

    文末免费送电子书 七月在线干货组最新 升级的 名企AI面试100题 免费送 项目一 igel 无需编写代码即可训练 测试和使用模型 一个令人愉悦的机器学习工具 可让您无需编写代码即可训练 拟合 测试和使用模型 该项目的目标是为技术用户和非技
  • Windows server 2008 r2关于SMB签名未配置的漏洞修复

    一 漏洞描述 SMB签名未配置漏洞是指 远程SMB服务器上未配置需要签名 这将导致未经身份验证的远程攻击者可以利用此漏洞对SMB服务器进行中间人攻击 SMB是一个协议名 全称是Server Message Block 服务器消息快协议 用于
  • 第二十三篇:UE Ceisum开发之如何加载本地地形及经纬度、空间坐标相互转化

    本篇是基于Cesium for Unreal这个插件 基本入门我这里就不多说了 不会的人可以先跟着这个教程学习一下 Cesium for Unreal快速入门 本篇重点讲述一下如何加载本地地形 1 准备工作 安装最新的Cesiumlab软件
  • JavaScript中的事件循环(event loop)机制

    聚沙成塔 每天进步一点点 专栏简介 调用栈 Call Stack 消息队列 Message Queue 事件循环 Event Loop 宏任务和微任务 示例 写在最后 专栏简介 前端入门之旅 探索Web开发的奇妙世界 记得点击上方或者右侧链
  • C#报错:线程间操作无效: 从不是创建控件“XXXX”的线程访问它

    看到一篇很好的博文 如果只是测试用的 不需要上位机多稳定 直接用第一种方法 非常nice 在zhihu上看到的一篇文章 C 线程间操作无效 从不是创建控件 dataGridView 的线程访问它 知乎 https zhuanlan zhih
  • Nginx启动时提示nginx: [emerg] still could not bind()

    今天跟着视频学习Nginx时 启动Nginx报这个nginx emerg still could not bind 于是在网上找了解决方法在这里分享出来 报错界面 解决方法 1 根据Nginx配置文件查看配置的端口默认的是80端口 然后我们
  • PTA 浙大版《C语言程序设计(第3版)》题目集 练习5-2

    本题要求对两个整数a和b 输出其中较大的数 函数接口定义 int max int a int b 其中a和b是用户传入的参数 函数返回的是两者中较大的数 裁判测试程序样例 include
  • 小博客练习

    博客 简单的综合运用 一 了解博客需求 1 主要的分为前台和后台 后台 注册登录 登录 登录 分类管理 显示分类 编辑分类 添加分类 删除分类 文章管理 显示文章 编辑文章 添加文章 删除文章 用户管理 标签管理 等等功能 前台 首页面 列
  • linux常用命令总结

    linux常用命令总结 1 在根目录下查找xxx文件 2 列出程序启动时搜索库路径的过程 3 查看程序或so的依赖 1 查看Test程序依赖的so文件 2 也可以查看so依赖的文件 4 SSH相关 5 查看当前登录的用户 6 查看重启 登录
  • Java面试题整理-高并发篇

    1 synchronized的实现原理以及锁优化 synchronized原理分析 遇见更好的自己 的博客 CSDN博客Java 高并发专题之synchronized关键字1 synchronized作为jvm关键字有三个作用域synchr
  • rancher部署

    Rancher 管理 Kubernetes 集群 Rancher 简介 Rancher 是一个开源的企业级多集群 Kubernetes 管理平台 实现了 Kubernetes 集群在混合云 本地数据中心的集中部署与管理 以确保集群的安全性
  • 在脚本中 使用数组 获取列表中选中的复选框id + 获取选中的单选框的值

    var chk value 定义一个数组 input name communicateTeacher claIds checked each function 遍历每一个名字为interest的复选框 其中选中的执行函数 chk value
  • Pandas提取指定行列

    取列 1 通过列名称来提取指定列 推荐 列名 irline sentiment gold name negativereason gold retweet count text get data data airline sentiment
  • kafka基础学习(六):kafka 代码示例

    kafka 代码示例 生成者API在不同版本间无较大变动 消费者 Consumer 提供了两套API 低版本 8 0版本及其以前 API 高版本 8 0版本后 API 两种API的优缺点 高版本Consumer API 优点 高级API写起
  • Qt-UI 界面工具库简介

    一 关于Qt UI界面工具库 Qt UI界面工具库是武汉维仕杰科技有限公司基于Qt上进行扩展开发的控件包和界面工具 并且拥有完全自主的知识产权 得益于丰富的界面开发经验和强大的支持团队 使得Qt UI界面开发工具成为最专业 功能强大的Qt开
  • 他在 B 站有 178 万粉丝,今天免费带你玩转 Python

    近几年 编程越来越火 网上也是铺天盖地的免费教程 中小学生都开始投入到学习中 编程学习从娃娃抓起 甚至有些小学生都做起了 UP 主 教大家学编程 光从编程的难易度来说 Python 简单 易学 零基础 跨专业都很容易上手 想学全网超详细 P
  • Linux内核配置选项详解

    对于每一个配置选项 用户可以回答 y m 或 n 其中 y 表示将相应特性的支持或设备驱动程序编译进内核 m 表示将相应特性的支持或设备驱动程序编译成可加载模块 在需要时 可由系统或用户自行加入到内核中去 n 表示内核不提供相应特性或驱动程
  • Qt连接SQL server数据库

    Qt连接SQL server数据库 由于课程设计需要 需要用qt设计一个界面来操作数据库 在建立数据库连接时 期间遇到各种问题 Qt 连接SQL server数据大致可以概括为下图的三层模型 箭头代表他们之间的依赖关系 第一步 建立目标数据
  • FeignClient的参数传递给服务提供方的方式(简单数据类型、对象)

    1 简单数据类型的参数采用的restFull的方式 发送Get请求 服务提供方的controller 类名加了窄化请求 RequestMapping path house produces application json charset
  • 前端制作简单的“注册页面——阅读协议”页面及效果

    注 如对文中的scrollHeight scrollTop clientHeight属性有所一伙 请参考博文 JavaScript中元素client offset scroll相关属性的应用 链接 https blog csdn net m