È necessario disporre di separatori di virgole tra i valori dell'array quando si definisce la matrice.
Si dovrebbero anche avere due elementi di script separati, uno per includere jquery e l'altro per il codice.
Il contenuto di un tag script con un attributo src deve essere ignorato dalla maggior parte dei browser.
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript" ></script>
<script type="text/javascript">
var images = ['OUT01ari.jpg', 'OUT02adobe.jpg', 'OUT03alife.jpg', 'OUT04chinup.jpg', 'OUT05datenightwinecologne.jpg', 'OUT06officechair.jpg', 'OUT07printer.jpg', 'OUT08whitewall.jpg', 'OUT09umbrella.jpg', 'OUT10converse.jpg', 'OUT11wardrobebar.jpg'];
$('#background').css({'background-image': 'url(images/' + images[Math.floor(Math.random() * images.length)] + ')'});
</script>
W3C 4.3 Scripting HTML5 dice:
If there is a src attribute, the element must be either empty or contain only script documentation that also matches script content restrictions.
E lo stesso vale per le versioni precedenti credo.
Edit:
Se si sta lavorando su file system locale, assicurarsi di modificare l'URL per jQuery per http: // invece di //.
Inoltre, assicurarsi che lo script venga eseguito quando l'elemento #background esiste chiamando su document ready.
Questo esempio dovrebbe funzionare anche a livello locale:
<html>
<head>
<style type="text/css">
#background {
position:fixed; left: 0px;
top: 0px; background-size:100%;
width:100%; height:100%;
-webkit-user-select: none; -khtml-user-select: none;
-moz-user-select: none; -o-user-select: none; user-select: none;
z-index:9990;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript" ></script>
<script type="text/javascript">
$(function() {
var images = ['OUT01ari.jpg', 'OUT02adobe.jpg', 'OUT03alife.jpg', 'OUT04chinup.jpg', 'OUT05datenightwinecologne.jpg', 'OUT06officechair.jpg', 'OUT07printer.jpg', 'OUT08whitewall.jpg', 'OUT09umbrella.jpg', 'OUT10converse.jpg', 'OUT11wardrobebar.jpg'];
$('#background').css({'background-image': 'url(images/' + images[Math.floor(Math.random() * images.length)] + ')'});
});
</script>
</head>
<body>
<div id="background"></div>
<div class="container">
</div>
</body>
</html>
Grazie, ho modificato questi errori insieme agli errori indicati da isherwood e jacouh ma le immagini non si stanno ancora caricando. – Hohohobo
Ho creato un violino che funziona: http://jsfiddle.net/ffXUC/ - anche se è difficile dire perché il tuo non lo è. Hai controllato la console del browser/gli strumenti di sviluppo web (F12 in Chrome) per eventuali errori? – becquerel
Grazie - e no non l'ho fatto. L'errore che ottengo è: Uncaught ReferenceError: $ non è definito index.html: 11 (funzione anonima). Linea 11: $ ('#background'). Css ({'background-image': 'url (images /' + images [Math.floor (Math.random() * images.length)] ')'}); – Hohohobo