Я написал директиву angular.js, который использует stellar.js для эффектов параллакса. Когда я вызываю одну и ту же директиву несколько раз один за другим, stellar.js будет работать только на первом. Я прочитал около $.stellar('refresh');
, который должен повторно инициализировать звездный элемент после инъекции в DOM, но это не повлияло на меня. Также звёзд звезд в окне не имел никакого эффекта.Директива Angular.js, использующая stellar.js, используется несколько раз - только первый работает
Вот код моей директивы:
angular.module('ClientApp')
.directive('parallaxModule', function() {
return {
templateUrl: 'views/parallax-module.html',
restrict: 'E',
scope: {
data: '='
},
controller: function() {
$(function(){
$(this).stellar({
horizontalScrolling: false,
verticalScrolling: true,
verticalOffset: 50
});
});
}
};
});
Это, как я использую директиву:
<parallax-module data="sectionData.para"></parallax-module>
<parallax-module data="sectionData.para"></parallax-module>
А вот мой шаблон:
<div class="parallax-module" data-stellar-background-ratio="0.2">
<div class="wrapper" data-stellar-ratio="2.5">
<div class="title">{{data.title}}</div>
<div class="caption">{{data.caption}}</div>
</div>
</div>
Вот plunker: http://plnkr.co/edit/TJbPL3dhSsiitZQWm9Qe?p=preview
Вы можете создать plunker? –
Вот плункер: http://plnkr.co/edit/TJbPL3dhSsiitZQWm9Qe?p=preview – dorthrithil
@ dorthrithil ли мой ответ решает вашу проблему? – Rebornix