Mam dyrektywy jak poniżej:kątowe scrollstart i scrollstop nie ogień w dyrektywie, przewijać robi
.directive('scrollPosition', function($window) {
return {
scope: {
scroll: '=scrollPosition'
},
link: function(scope, element, attrs) {
var windowEl = angular.element($window);
var scrollhandler = function() {
console.log("scrolling")
}
var starthandler = function() {
console.log("scrolling start")
}
var stophandler = function() {
console.log("scrolling end")
}
windowEl.on('scroll', scope.$apply.bind(scope, scrollhandler));
windowEl.on('scrollstart', scope.$apply.bind(scope, starthandler));
windowEl.on('scrollstop', scope.$apply.bind(scope, stophandler));
}
};
});
Z HTML:
<div id="imageHolder" style="opacity: {{scroll}}" scroll-position="scroll">
Jedynym wydarzeniem, które wystrzeliwuje jest 'scroll' zdarzenie. Potrzebuję dwóch pozostałych zdarzeń, a nie tego, ponieważ pracuję na urządzeniach mobilnych, a zdarzenia przewijania nie uruchamiają się, dopóki przewijanie nie zatrzyma się na urządzeniu mobilnym (zobacz tutaj http://andyshora.com/mobile-scroll-event-problems.html)
Potrzebuję zrobić coś niestandardowego na początku i na końcu.
Każdy pomysł, co robię źle?
Czy możesz mi pomóc zrozumieć, gdzie jesteśmy świadkami „scrollstart” i " zdarzenia "przewijania"? Nigdy o nich nie słyszałem. Czy są to wydarzenia jQuery? – Antiga
Tak, na dokumentach jqueryLite w kanciastych jest napisane "włączone". Nie jestem pewien, czy te wydarzenia są dostępne, rozejrzałem się i nie znalazłem informacji (stąd jestem tutaj). Zakładam, że technicznie musi być w Angularu sposób, żeby je wykryć. –
To jest dosłownie jedyna rzecz, którą mogę znaleźć w dowolnym miejscu zdarzenia "scrollstart": http://api.jquerymobile.com/scrollstart/ To zdarzenie dotyczy konkretnie jQuery Mobile (całkowicie innej biblioteki). Wydaje się, że nie jest on zawarty w jQuery (lub, przez rozszerzenie, jqLite, który jest wbudowany w kąt). – Antiga