JQuery detect if div is visible during scroll -
i'm using jquery mouse wheel in project manipulate scroll on specific div.
var viewwidth = $(window).width(); var temoignageswidth = $('#temoignages .container-fluid').width(); var maxscrolltemoignages = temoignageswidth - viewwidth; var scrollval = 0; var temoignagesdiv = gettemoignagesdiv(); $(window).mousewheel(function(event){ if (temoignagesdiv.top <= $(window).scrolltop() + navbarheight && $(window).scrolltop() + $(window).height() < temoignagesdiv.bot){ scrollval += math.round(event.deltay * event.deltafactor); var scrollup = function(scrollval){ return scrollval <= 0; }; var scrolldown = function(scrollval){ return math.abs(scrollval) <= maxscrolltemoignages; }; var condition = null; if (event.deltay > 0){ scrollval = scrollup(scrollval) ? scrollval : 0; condition = scrollup(scrollval); } else{ scrollval = scrolldown(scrollval) ? scrollval : maxscrolltemoignages * -1; condition = scrolldown(scrollval); } if (condition){ if (event.deltay > 0 && scrollval < 0){ event.preventdefault(); } else if (event.deltay < 0 && math.abs(scrollval) < maxscrolltemoignages ){ event.preventdefault(); } $('#temoignages .row').css({ "-webkit-transform":"translate(" + scrollval + "px)", "-ms-transform":"translate(" + scrollval + "px)", "transform":"translate(" + scrollval + "px)" }); } } });
it work's when scroll condition temoignagesdiv.top <= $(window).scrolltop() + navbarheight && $(window).scrolltop() + $(window).height() < temoignagesdiv.bot
not validate code not executed. idea improve ? :s
Comments
Post a Comment