1

我目前找不到网站,因为我不在我的办公桌前,但我在您注册时看到了使用条款。为了确保用户阅读它,它会出现在一个对话框中(不确定它在 HTML 中的确切名称),并且“注册”按钮保持灰色,直到用户滚动浏览整个使用条款。这是怎么做到的?我假设这是 JavaScript,但我不知道如何检测和控制它。这方面的一些示例或如何在 JavaScript 中完成这些示例将非常有帮助。谢谢!

4

2 回答 2

2

您可以使用以下代码在没有 jQuery 的情况下执行此操作:

//Your DIV with the TOS
var i=document.getElementById("ipsum");

//Event Listener for Scroll
i.onscroll=function(){
    //Your Button
    var y = document.getElementById("yay");

    //The height to scroll to:
    var x = i.scrollHeight - i.offsetHeight - 1;

    if(i.scrollTop >= x)
        y.removeAttribute("disabled");
    else if(!y.hasAttribute("disabled"))
        y.setAttribute("disabled",true);
};

在这里摆弄 HTML 和 CSS 。

另外,我同意其他所有发布或评论的人的观点,这可能不是一个好主意。

于 2013-11-04T22:33:55.383 回答
2

您要检查元素scrollTop的底部。scrollHeight

$('.tos').scroll(function() {
   if ($(this).scrollTop() + $(this).height() >= $(this)[0].scrollHeight - 100) {
       $('input[type="submit"]').prop('disabled', false);
   }
});

改编自这个答案

这是一个 jsfiddle 示例

警告:在您实施此之前

不会检测用户是否已阅读条款。滚动浏览这些(通常很小的)TOS 框也非常烦人。

一个更好的解决方案是要求用户明确勾选一个框,说明他们已阅读并理解 TOS。

于 2013-11-04T22:16:35.807 回答