我有这个AngularJS代码:
promise.then(function(data) {
$scope.data = data;
$scope.hasData = (data.length > 0);
// Do jQuery code here
},
如您所见,一个诺言已经兑现(一些API数据已完成下载)。仅在此数据下载完成后,我才需要运行一些jQuery(我希望页面在60秒内自动开始滚动到底部)。
我该怎么做呢?我知道在AngularJS代码中间包含jQuery代码不是一个好习惯(也许两者都使用了美元符号?),但是我不确定如何解决它。
任何建议表示赞赏,谢谢。
编辑:
这是我将使用的jQuery代码:
// Scroll up, then scroll down
var intervalTime = 60000;
$('html, body').animate({ scrollTop : 0}, 800);
$("html, body").animate({ scrollTop: $('html, body').get(0).scrollHeight }, { duration: (0.75 * intervalTime) });
您可以使用ngAnimate模块:
您认为:
<div ng-class="{scrollToBottom: promiseExecuted}">...</div>
在您的控制器中:
promise.then(function(data) {
$scope.data = data;
$scope.hasData = data.length > 0;
$scope.promiseExecuted = true;
});
然后您的动画:
app.animation(".scrollToBottom", function() {
var intervalTime = 60000;
return {
addClass: function(element, className, done) {
$("html, body").animate({ scrollTop : 0 }, 800);
$("html, body").animate({ scrollTop: $("html, body").get(0).scrollHeight }, { duration: (0.75 * intervalTime) });
}
};
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句