angular.module('yogaapp3App') .directive('keepSticky', function($window) { return { link:function(scope, elm, attr) { var raw = elm[0]; var windowEl = angular.element($window); var added = false; var funCheckBounds = function(evt) { var divTop = 34; //var rectObject = raw.parentElement.getBoundingClientRect(); //var divTop = rectObject.top; //if (divTop == 0 && !added) { // return;// prevent firing too soon //} var windowTop = windowEl.scrollTop(); // console.log('scrolltop:' + windowTop + 'divTop:' + divTop); if (windowTop > divTop) { if (!added) { elm.addClass('stick'); added = true; } } else { if (added) { elm.removeClass('stick'); added = false; } } }; windowEl.bind('scroll', funCheckBounds); } }; });