Ich habe ein Array von Objektaufruf $ scope.postsATraiter, und ich habe eine Funktion, die einen zufälligen x y -Wert für jeden Beitrag geben.Ändern der Objektposition mit AngularJS funktioniert nur einmal
$scope.posAleatoire = function() {
var w = window.innerWidth;
var h = window.innerHeight;
for (var i = 0; i < $scope.postsATraiter.length; i++) {
var l = parseInt(Math.random() * (w - 200));
var t = parseInt(Math.random() * (h - 200));
$('#target'+i).css({
'left': l + 'px',
'top': t + 'px',
'height' : '200px'
})
}
}
Dies funktioniert aber nur, wenn ich es in dieser Funktion:
Posts.query({}, function() {
$scope.postsATraiter = $scope.posts;
$scope.posAleatoire();
});
Dieser Funktionsaufruf ist vor jedem, und sie in meiner Datenbank, die alle Post erhalten und speichern sie in Umfang $ .postsATraiter, wenn ich posAleatoire an einer anderen Stelle in meinem Code verwende tut es nichts, warum?
Ich poste den HTML, wenn es helfen kann.
<div ng-repeat="post in posts track by post._id">
<div id="target{{$index}}">
das ist seltsam, weil ich einige andere Funktionen mit '$ scope.postsATraiter'verwenden und ich brauche keine Werte zu überprüfen und die anderen Funktionen funktionieren gut, ich weiß nicht, aber vielleicht der Fehler kommt von der Änderung der CSS – Vodet