2014-10-03 121 views
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(); 
     }); 
    }; 
    }); 
+0

你可以创建一个plunker或jsfiddle来证明这个问题吗? – SoluableNonagon 2014-10-03 15:28:22

+0

我不确定它是否与plnkr相关,但我得到一个未定义的位置错误:http://lnknk.co/edit/nETvkzqKZvak5B6I4QpV – EmptyPockets 2014-10-03 15:43:10

+0

@EliteOctagon更新,我得到它的工作,但它非常跳动。感谢您的回复。制作plnkr很有帮助。 – EmptyPockets 2014-10-03 15:51:12

回答

相关问题