2009-06-26 93 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)。