I had to do this before, here is what I did to make it work in several browsers:
function disclaimerFunction() {
$(".AcknowledgeOuterDiv").scroll(function() {
var outerDiv = $(this);
var innerDiv = $(">.AcknowledgeInnerDiv", $(this));
var ScrollMod = 1;
if (outerDiv.offset().top < innerDiv.outerHeight()) {
ScrollMod = -1;
}
if (Math.round((ScrollMod * innerDiv.offset().top) + outerDiv.height() + outerDiv.offset().top) >= innerDiv.outerHeight() && Math.abs(innerDiv.offset().top) != 0) {
$(".AcknowledgeCheckBox input").attr("disabled", false);
$(this).unbind("scroll");
} else {
$(".AcknowledgeCheckBox input").attr("disabled", true);
}
});
}
CSS
.AcknowledgeOuterDiv
{
float: left;
width: 100%;
height: 300px;
overflow: auto;
}
.AcknowledgeInnerDiv
{
float: left;
}
HTML:
<div class="AcknowledgeOuterDiv">
<div class="AcknowledgeInnerDiv">
A lot of text
</div>
</div>
<span class="AcknowledgeCheckBox">
<input id="MainContent_AcknowledgeCheckBox" type="checkbox" disabled="disabled">
<label for="MainContent_AcknowledgeCheckBox">*I have read and understand the above disclaimer.</label>
</span>
EDIT:
Added a checkbox that activates when scrolling down.
source
share