0
我试图揭示项目,因为他们在我的角度应用程序中滚动时进入视图。问题是,只要第一个元素显示出来,所有元素似乎都会显露出来。我究竟做错了什么?为什么这个指令只适用于一个元素?
这里有一个plnkr:http://plnkr.co/edit/nETvkzqKZvak5B6I4QpV
更新:我得到它的工作。有没有人有任何关于如何提高性能的想法。这很刺激。
.directive("scrollFade", function($window) {
return function(scope, element, attrs) {
angular.element($window).bind("scroll", function() {
var bottom_of_object = $(element).offset().top + $(element).outerHeight();
var bottom_of_window = $(window).scrollTop() + $(window).height();
if (bottom_of_object < bottom_of_window) {
//in view
element.css('opacity', 1);
} else {
//outside of view
element.css('opacity', 0);
}
scope.$apply();
});
};
});
你可以创建一个plunker或jsfiddle来证明这个问题吗? – SoluableNonagon 2014-10-03 15:28:22
我不确定它是否与plnkr相关,但我得到一个未定义的位置错误:http://lnknk.co/edit/nETvkzqKZvak5B6I4QpV – EmptyPockets 2014-10-03 15:43:10
@EliteOctagon更新,我得到它的工作,但它非常跳动。感谢您的回复。制作plnkr很有帮助。 – EmptyPockets 2014-10-03 15:51:12