2016-04-14 8 views
0

Ich habe das. (Abgekürzt für diesen Beitrag nach unten nicht sinnlos Füllstoff sein):Wie benutze ich jquery, um ein Hintergrundbild beim Anklicken einer URL in einem Array zu ändern?

var randomQuote = function() { 
    var quotes = [{ 
     author: "Duke Nukem: Manhatten Project", 
     quote: "Come on out, Morphix. There's just two ways this can end, and in both of them, you die!", 
     boxart: "http://game-server-hosting.net/wp-content/uploads/2008/12/4235.jpg" 
    }]; 
    var numQuotes = quotes.length; 
    var randomIndex = Math.round(Math.random() * numQuotes); 
    var quotation = quotes[randomIndex - 1]; 
    $('.quotebox').html(quotation.quote); 
    $('.authorbox').html(quotation.author); 
    }; 

Ich verstehe, wie so etwas funktioniert:

$('#bg').css({backgroundImage: "url("+imgbg+")"}); 

Was ich wissen will, ist, wie ich stattdessen machen, wo das Hintergrundbild ändert sich von dem, was dort ist, zu dem Boxart-Teil des Arrays anstelle einer einfachen URL? Benutze ich quotation.boxart? Und wenn ja, wie? Ich habe ein paar Möglichkeiten ausprobiert, die keine Arbeit scheinen:

$('body').css({'background-image': quotation.boxart}); 
$('body').css({'background-image': 'quotation.boxart'}); 
$('body').css({'background-image': 'url(quotation.boxart)'}); 

Wenn es gibt einen anderen Weg, ich weiß noch nicht, jede mögliche Hilfe würde geschätzt (da ich nur zu lernen), danke!

+0

'$ ('body') verwenden CSS ({ 'background-image': 'url (' + quotation.boxart + ')'});.' –

+0

Ah hah! Ich brauchte die + drin. Ich danke dir sehr! – Joseph

Antwort

0

Es war, als Johnny den 'url setzen (' + quotation.boxart + ')'

in der s '+ Putting den Trick!

0

Sie sollten

var randomIndex = Math.floor(Math.random() * numQuotes); 
var quotation = quotes[randomIndex]; 
$(document.body).css({'background-image':'url("'+quotation.boxart+'")'}); 
+0

Das musste ich wissen, aber Johnny hat mich in die + Bedürfnisse hineingesteckt. var quotation = Anführungszeichen [randomIndex - 1]; braucht das -1 aber immer noch drin. – Joseph

+0

'Math.floor (Math.random() * numQuotes)' gibt Ihnen eine zufällige ganze Zahl in [0, numQuotes). Du brauchst also nicht "-1". – v7d8dpo4

+0

Kann es nicht versuchen, über die Anzahl der Indizes zu gehen, die es gibt, wenn nicht? – Joseph

Verwandte Themen