1
我想動畫輸入滑塊時,用戶到達這個div。 要看用戶是否滾動到這個div我正在使用一個指令,這觸發了我的滑塊的值的變化。下面是代碼:執行一個特定的時間的函數 - AngularJs
directive("scroll", function ($window, $timeout, $interval) {
return function(scope, element, attrs) {
angular.element($window).bind("scroll", function() {
if (this.pageYOffset >= 1500) {
var timeout = $timeout(function(){
var interval = $interval(function(){
scope.slider += 4;
},25);
}, 0);
});
};
})
這項工作做得很好,順利地保值增值,一個漂亮的動畫效果但是這並不能阻止越來越多。我試圖補充:
var second_timeout = $timeout(function(){
scope.slider= 400;
}, 100)
要修復一個值,但它「跳躍」,然後繼續增加。
我也嘗試添加一個while循環來避免滑塊的值高於500,這個工作,但沒有更多的「動畫」效果。
我選擇了這樣做,這可能看起來很複雜,因爲我沒有找到任何方式使它與CSS動畫。
是否存在純粹的angularJs函數來指定執行函數的時間量?
謝謝你的回答!
好吧,這就是造成我猜動畫的流暢的效果..我不知道任何其他方式來創建它。不可能在兩秒之後停止間隔嗎? –
是的,看看編輯過的答案。 –
謝謝,這正是我正在尋找的。 setInterval和interval之間有什麼區別?他們是否以同樣的方式工作? –