我有一个问题,当我向上滚动时,我的图像附加了display:none(在我的pageYOffest为46时),然后被移除,从而导致闪烁效果。当我用src替换ng-src它工作正常,但我需要ng-src,因为我将使用变量。
指令的要点是图像在用户滚动时淡出。
我也使用在html底部初始化的stellar.js,因此图像以一半的速度滚动。
我有以下html:
<div id="imageHolder" data-stellar-ratio="0.5" style="opacity: {{scroll}}" scroll-position="scroll">
<img ng-src="http://www.carjet.com/files/Cornwall,%20England,%20UK%20-%20Porthtowan%20beach%20on%20a%20sunny%20day%20-%20Newquay%20car%20hire.jpg" />
</div>
....
<script>
$(function() {
$.stellar({
horizontalScrolling: true,
verticalScrolling: true,
hideDistantElements: 1
});
});
</script>
我正在使用此指令:
.directive('scrollPosition', function($window) {
return {
scope: {
scroll: '=scrollPosition'
},
link: function(scope, element, attrs) {
var windowEl = angular.element($window);
var handler = function() {
scope.scroll = 1 - (windowEl[0].pageYOffset * 0.0066);
}
windowEl.on('scroll', scope.$apply.bind(scope, handler));
handler();
}
};
});
知道会发生什么事吗?