2016-07-31 6 views
0

So wählen Sie nach dem Zufallsprinzip ein Bild im Ordner aus, um den Hintergrund festzulegen. Ich bin Neuling, dies ist mein Code:Angular - So wählen Sie ein Bild im Ordner zufällig aus, um den Hintergrund festzulegen

app.directive('randomBackground', function($http){ 
 
    return function(scope, element, attrs){ 
 
     $http({method: 'GET', url: 'images/background'}).success(function(data) { 
 
     \t console.log(angular.element(data)[11]); 
 
     \t var imgs = []; 
 
\t \t \t ... 
 
\t   var url = imgs[Math.floor(Math.random()*imgs.length)]; 
 
\t   element.css({ 
 
\t    'background-image': 'url(images/background/'+url+')', 
 
\t    'background-size' : 'cover', 
 
\t    'background-repeat' : 'no-repeat', 
 
\t    'background-attachment' : 'fixed', 
 
\t   }); 
 
\t \t }); 
 
    }; 
 
});

+0

Was ist nicht Arbeiten ? – Rayon

+0

Ich weiß nicht, was in diesem "..." zu tun ist, um den Dateinamen für imgs [] – Cver

+0

abzurufen Können Sie ausführbare Demo/Snippet oder [JSFiddle] (https://jsfiddle.net/) teilen? [_Erstellen Sie ein minimales, vollständiges und überprüfbares Beispiel_] (http://stackoverflow.com/help/mcve) – Rayon

Antwort

0

im Grunde sind Sie nach einer Möglichkeit, die Bilder Pfade aus dem Ordner images/background (bitte korrigieren Sie mich, wenn ich falsch bin) zu bekommen, Das ist nicht machbar Ursache angularjs, und Javascript im Allgemeinen eine Client-Seite, so müssen Sie die Dateinamen von der Serverseite und senden Sie das Array an die Client-Seite, dann können Sie Ihre Magie tun :)

+0

Ich werde nur ein tun einfache Webseite ohne irgendeine Serverseite, so was kann ich tun – Cver

+0

in diesem Fall müssen Sie die Bilder Pfade statisch in einem Array wie dieser setzen 'var img s = ['img1', 'img2', 'img3', .....] ' –

+0

und jedes Mal, um das Bild in Bildern/Hintergrund zu ändern, muss ich die Liste aktualisieren? Ich mag automatisch, aber wenn das nicht gut ist, werde ich diesen Weg nutzen, danke! – Cver

Verwandte Themen