Skip to content

Instantly share code, notes, and snippets.

@beshur
Created November 19, 2013 09:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save beshur/7542870 to your computer and use it in GitHub Desktop.
Save beshur/7542870 to your computer and use it in GitHub Desktop.
jQuery check if element is scrolled to (close to Bootstrap affix)
window.page_var = {};
window.onload = function() {
$(".b_screens__el").each(function (i) {
page_var.screens[i] = $(this).offset().top;
})
}
$(window).resize(function() {
$(".b_screens__el").each(function (i) {
page_var.screens[i] = $(this).offset().top;
})
});
$(window).scroll(function(e) {
page_var.s_t = $(window).scrollTop();
for(var i = 0; i < page_var.screens_c; i++) {
if (page_var.s_t >= page_var.screens[i]) {
if (i != page_var.screens_c+1 && page_var.s_t < page_var.screens[i+1]) {
page_var.active_screen = i;
$(".b_menu.m_main .list > li")
.eq(i).addClass("active")
.siblings().removeClass("active");
$("#container").attr("data-active-screen", page_var.active_screen)
} else if (i != page_var.screens_c+1 && page_var.s_t > page_var.screens[i+1]) {
continue;
} else {
page_var.active_screen = i;
$(".b_menu.m_main .list > li")
.eq(i).addClass("active")
.siblings().removeClass("active");
$("#container").attr("data-active-screen", page_var.active_screen)
}
}
}
// scroll
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment