2009-06-26 49 views
1

我不知道如何做到这一点,我需要帮助。我使用的是asp.net,我有一个带溢出的div:auto set。该div显示条款和协议。我也有一个可视的设置为“false”的asp.net复选框控件。我想要的只是在用户滚动到底部之后才能使复选框可见=“true”。我试图添加一个JavaScript函数,当onmouseup被触发时调用,但我不认为这个代码工作,我不知道如何使javascript代码中的复选框控件可见=“true”。ASP.NET如何判断div是否滚动到底部

function checkScrollPosition(elem) { 
    if(elem.scrollHeight<(elem.scrollTop+elem.offsetHeight)) { 
    document.getElementById("CheckBox1").style.visibility = "visible"; 
    } 

回答

0

无疑,您正试图确保某人已阅读EULA或某种协议。

要做到这一点半途而废的唯一方法是使用客户端Java脚本,并且您需要在滚动中引发一个事件。我会建议创建一个控件,看起来像你的div溢出设置与你自己的左侧滚动控件,看起来像浏览器滚动。

通过这种方式,您可以引发鼠标操作上的滚动事件,该事件查看当前高度属性或确定用户在目标DIV上的位置。

0

为什么不把复选框放在div的底部?他们将不得不滚动到那里去......

+1

我现在这样做,但它不是想要的。我需要弄清楚如何做到这一点。 – jumbojs 2009-06-26 20:14:53

0

对我而言,这很可能是现存最烦人的设计之一。滚动EULA与阅读它不一样 - 如果您确实要确保他们阅读了它,则必须在内容上对其进行测验。关于每个段落内容的一个问题应该做到这一点,每个段落有四个选择题答案。:-)

他们要么阅读EULA,要么不阅读EULA。让他们滚动不会改变这一点。

+1

再一次,这不是我正在寻找的意见,这是我的问题的答案。如果有人想要这个,我们就是这样做的。如果你不知道如何回答这个问题,请不要。 – jumbojs 2009-06-26 20:44:08

1

你的答案真的不在于ASP.NET,而是更多的东西在Javascript方面。看看jQuery框架,如果这样的内容是内置的,或者如果某人有插件可以实现,我不会感到惊讶。但是ASP.NET更多的是关于服务器端处理,而不是关于客户端处理,而你想要的完全是客户端。

不是说它不能在.NET中完成,我敢肯定它可以,但是当它更容易在Javascript中处理时,它会是(IMO)更多的努力。

对不起,我没有更详细的信息给你,但随着jQuery的挖掘,你可能会发现你可以使用或调整,以得到你想要的东西。

编辑:有一些jQuery代码大约在一半以下this页面,可能有你可以使用的东西。

0

我相信你想检查是否(div.clientHeight + div.scrollTop == div.scrollHeight)。