2016-09-02 2 views
0

Ich schrieb dieses kleine JavaScript das Hintergrundbild von einem div zu ändern, nach einer Seite zu ladenHintergrund Bild eines div

<div id="header"> 
    <script language="JavaScript"> 
     <!-- 
     var playlist = new Array(); 
     playlist[0]="background: url('image1') no-repeat center center; background-size: cover;"; 
     playlist[1]="background: url('image2') no-repeat center center; background-size: cover;"; 
     playlist[2]="background: url('image3') no-repeat center center; background-size: cover;";  

     var c = Math.floor(Math.random()*playlist.length); 

     document.getElementById('header').style = playlist[c]; 

     --> 
</script> 

    <p>This is some text</p> 
    <p>This is some text</p> 
    <p>This is some text</p> 
</div> 

es funktioniert gut, aber es scheint, mit dem Internet Explorer/Rande nicht kompatibel. Wo mache ich mich falsch?

+1

Welchen Fehler erhalten Sie von der Edge-Konsole? Meine Vermutung wäre, dass Sie 'window.onload' oder (wenn Sie jQuery verwenden)' $ (document) .ready() 'verwenden müssen, damit das Skript so lange anhält, bis die Seite vollständig geladen ist. – CBusBus

+0

den Hintergrund direkt einstellen, nicht mit Stil – epascarello

+2

Unrelated: Sie scheinen zweimal die Wiedergabeliste [1] bevölkern. – CBusBus

Antwort

0

Funktioniert .style in IE? Hast du stattdessen .setAttribute ('style', playlist [c]) ausprobiert?

+0

danke für die Antwort, ich habe das obige Javascript so geändert: 'var testa = document.getElementById (' Header'); testa.style = Wiedergabeliste [c]; testa.setAttribute ('style', playlist [c]); ' – user1441917

+0

Keine Sorge - Ich war mir nicht sicher, ob es funktionieren würde, um ehrlich zu sein (und ich habe keinen IE auf der Maschine, auf der ich jetzt bin) aber froh, dass es für dich geklappt hat. :) – Nimmo