前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js如何实现阅读完协议后才可以注册

js如何实现阅读完协议后才可以注册

作者头像
itclanCoder
发布2022-12-07 09:45:04
1.2K0
发布2022-12-07 09:45:04
举报
文章被收录于专栏:itclanCoder

http://mpvideo.qpic.cn/0bc3t4ajoaaa4qap3dc6vfrvbh6ds6pqbfya.f10002.mp4?dis_k=5570fd8d7cd015ab38fa84b7fa86c1ad&dis_t=1670377456&vid=wxv_2643078515940343812&format_id=10002&support_redirect=0&mmversion=false

前言

一般注册页面的用户协议放在一个文本域的textarea控件内的,我们可以监听文本域的onscroll滚动事件

并借助滚动高度(`scrollHeight·)来判断用户是否阅读完文本域中的协议,然后来激活启动用户注册按钮

html代码

代码语言:javascript
复制
 <textarea readonly="true" id="id-textarea-reg" onscroll="on_scroll_reg(this.id)" name="" id="" cols="30" rows="10">
           阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册阅读完协议才可以单机注册
</textarea>
<button id="id-btn-reg" disabled>用户注册</button>

js代码

代码语言:javascript
复制
function on_scroll_reg(thisid) {
    var textareaReg = document.getElementById(thisid);
    var regBtn = document.getElementById("id-btn-reg");
    if(textareaReg.scrollTop+textareaReg.clientHeight >= textareaReg.scrollHeight) {
        regBtn.disabled = false;
    }
}

分析

主要是监听文本域textarea的onscroll滚动事件,并借助滚动高度scrollHeight,当文本域的距离顶部的距离与文本域的可视区域的高度大于文本域的滚动高度式

那就说明用户已经看完了协议内容的,然后可以激活启动用户注册按钮的状态

  • 元素,scrollTop:距离顶部的距离
  • 元素.clientHeight: 元素的高度,它是固定的,包括padding但不包括border、水平滚动条、margin的元素的高度,与元素的滚动、位置没有关系,它代表元素自身的高度
  • 元素.scrollHeight: 滚动条滚动的高度,代表在有滚动条时,滚动条向下滚动的距离也就是元素顶部被遮住部分的高度,在没有滚动条时,那么它的scrollTop:0,可以获取设置一个元素的内容垂直滚动的距离,代表这个元素的顶部到视口可见内容(的顶部)的距离。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 itclanCoder 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • html代码
  • js代码
  • 分析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档