2016-12-02 7 views
2

Ich erzeuge Zufallszahlen und Anhängen mit der vorherigen Variable und versuchen, den Wert von Bildern zu erhalten. aber auch die Zufallszahl wird nur erzeugt. Wie kann ich das machen ?Generieren von zufälligen Bild URL in Javascript

Hier ist mein Code

var img1 = 'http://i.imgur.com/8olCb1Qb.jpg'; 
var img2= 'http://i.imgur.com/usJWgL7b.jpg'; 
var img3 = 'http://i.imgur.com/kxsLXb8b.jpg'; 
var img4 = 'http://i.imgur.com/XQbcjvUb.jpg'; 
var img5 = 'http://i.imgur.com/j3CVSSMb.jpg'; 
var img6 = 'http://i.imgur.com/BQNvBVib.jpg'; 
var img7 = 'http://i.imgur.com/DZq0ORlb.jpg'; 
var img8 = 'http://i.imgur.com/t73Tvlqb.jpg'; 
var img9 = 'http://i.imgur.com/Y8iFltdb.jpg'; 
var img10 = 'http://i.imgur.com/u3sBUMjb.jpg'; 
var no = Math.floor(Math.random() * 6) + 1 
var img = 'img'+no; 
console.log(img) 

ich nur Javascript bevorzugen.

+7

Warum nicht ein Array verwenden? Holen Sie sich einfach den zufälligen Index und Sie sind fertig. Für die Aufzeichnung können Sie 'console.log (window [img])' tun, aber ich denke nicht, dass das der richtige Weg ist. – vlaz

+0

Kannst du bitte etwas erklären .. –

Antwort

4

Ich glaube, Sie zufällige Bilder

var images = [ 
    'http://i.imgur.com/8olCb1Qb.jpg', 
    'http://i.imgur.com/usJWgL7b.jpg', 
    'http://i.imgur.com/kxsLXb8b.jpg', 
    'http://i.imgur.com/XQbcjvUb.jpg', 
    'http://i.imgur.com/j3CVSSMb.jpg', 
    'http://i.imgur.com/BQNvBVib.jpg', 
    'http://i.imgur.com/DZq0ORlb.jpg', 
    'http://i.imgur.com/t73Tvlqb.jpg', 
    'http://i.imgur.com/Y8iFltdb.jpg', 
    'http://i.imgur.com/u3sBUMjb.jpg' 
]; 
var random = images[Math.floor(Math.random() * images.length)]; 
+0

Es funktioniert super! thnks –

0

Versetzen Sie Ihre Bilder in ein div namens div divImages.

var img=$('#divImages').children().eq(no); 

Und wenn Sie nicht wollen, jquery mit der Javascript ist:

var img = document.getElementById('#divImages').children[no]; 
1

gut auswählen möchten. Arrays machen Spaß. Du solltest sie benutzen.

var images = ["8olCb1Qb", "usJWgL7b", "kxsLXb8b", "XQbcjvUb", "j3CVSSMb", "BQNvBVib", "DZq0ORlb", "t73Tvlqb", "Y8iFltdb", "u3sBUMjb"]; 
 
var randomPick = images[Math.random() * images.length | 0]; 
 
var url = "http://i.imgur.com/" + randomPick + ".jpg"; 
 
document.body.appendChild(new Image()).src = url;

0

wenn Sie möchten, um Ihre Bilder in einem Array nicht setzen, können Sie sie wie folgt aufrufen:

var img1 = 'http://i.imgur.com/8olCb1Qb.jpg'; 
var img2= 'http://i.imgur.com/usJWgL7b.jpg'; 
var img3 = 'http://i.imgur.com/kxsLXb8b.jpg'; 
var img4 = 'http://i.imgur.com/XQbcjvUb.jpg'; 
var img5 = 'http://i.imgur.com/j3CVSSMb.jpg'; 
var img6 = 'http://i.imgur.com/BQNvBVib.jpg'; 
var img7 = 'http://i.imgur.com/DZq0ORlb.jpg'; 
var img8 = 'http://i.imgur.com/t73Tvlqb.jpg'; 
var img9 = 'http://i.imgur.com/Y8iFltdb.jpg'; 
var img10 = 'http://i.imgur.com/u3sBUMjb.jpg'; 
var no = Math.floor(Math.random() * 6) + 1 
var img = 'img'+no; 
console.log(window[img]) 
// or 
console.log(this[img]) 
1

Wie bereits von anderen vorgeschlagen, dynamische Variablennamen sind irgendwie hässlich. Sie sollten ein Array verwenden.

var imgs = ['a', 'b', 'c']; 
var randomImg = imgs[Math.floor(Math.random() * imgs.length); 

Wenn Sie wirklich dynamische Namen verwenden möchten, sollten Sie sie auf ein Objekt anhängen, nicht nur freistehende Variablen.

var imgs = {img1: 'a', img2: 'b', img3: 'c'}; 
var no = Math.floor(Math.random() * 3) + 1: 
var img = imgs['img' + no]; 
Verwandte Themen