Reputation: 13730
The slideDown()
applied to a div
element does the slide down, but doesn't scroll the page down and the div
slided down div
remains hidden from view.
Is there a way to scroll the page down as well so the user can view the div
?
Upvotes: 12
Views: 17875
Reputation: 111970
$.extend($.expr[':'],{
inView: function(a) {
var st = (document.documentElement.scrollTop || document.body.scrollTop),
ot = $(a).offset().top,
wh = (window.innerHeight && window.innerHeight < $(window).height()) ? window.innerHeight : $(window).height();
return ot > st && ($(a).height() + ot) < (st + wh);
}
});
if ($('#whatever').is(':not(:inView)')) {
$('html,body').animate({
scrollTop: $('#whatever').offset().top
}, 3000);
}
Upvotes: 8