2016-05-27 10 views
0

Wie kann ich mehr Bilder haben?kann keine weiteren Bilder zum Skript hinzufügen

<script> 
    var rotate = false; 

    function setbackground() { 
    newImage = rotate ? 
       'url(mimages/wallpaper2.jpg)' : 
       'url(mimages/shutterstock_105126044-795x380.jpg)'; 
    rotate = !rotate; 
    document.getElementById('change').style.backgroundImage = newImage; 
    } 

    setInterval(setbackground, 4000); 
</script> 

Ich habe versucht, auf die gleiche Weise fügen Sie mit: nicht

+0

'hat nicht funktioniert' was bedeutet das? Hast du einen Fehler? – gurvinder372

+0

Was Sie tun möchten, ist nicht klar. Möchten Sie in jedem Intervall unterschiedliche Bilder einfügen? Wenn ja, müssen Sie die Liste der Bilder und in der Reihenfolge angeben, in der sie angezeigt werden sollen. –

Antwort

0

Es gibt ein paar Möglichkeiten, wie Sie das tun könnten. Ich würde empfehlen, die URLs der Bilder in einem Array zu speichern und einen Zähler bei jedem folgenden Aufruf von setBackground() zu erhöhen.

var images = [ 
    "url('mimages/wallpaper2.jpg')", 
    "url('wallpaper2.jpg')", 
    "url('wallpaper3.jpg')" 
]; 

var imageIndex = 0; 
function setbackground() { 
      newImage = images[imageIndex]; 
      document.getElementById('change').style.backgroundImage = newImage; 
      if (imageIndex != images.length){ 
       imageIndex++; 
      } 
      else{ 
       // If we've reached the end of the array, reset the index 
       imageIndex = 0; 
      } 
      document.getElementById('change').style.backgroundImage = newImage; 
} 

setInterval(setbackground, 4000); 

Wenn Sie weitere Bilder hinzufügen möchten, fügen Sie einfach einen neuen Eintrag in das Array ein.

+0

es zeigen Problem bei der ersten lin erwartet; –

+0

danke es ist [] nicht {} –

+0

Großartiger Ort, danke Oz! Ich habe jetzt bearbeitet. Serviert mich richtig, um meinen Code nicht zu testen :). –

0

Ihre URL gearbeitet hat hat in einem Zitat zu

newImage = rotate ? "url('mimages/wallpaper2.jpg')" : "url('mimages/shutterstock_105126044-795x380.jpg')"; 
+0

es ist nicht notwendig – Joaquinglezsantos

0

Sie sollten variable newImage erstellen eingeschlossen werden. , um Ihren Code zu aktualisieren:

var rotate = false; 

function setbackground() { 
    var newImage = rotate ? 'url(mimages/wallpaper2.jpg)' : 'url(mimages/shutterstock_105126044-795x380.jpg)'; 
    rotate = !rotate; 
    document.getElementById('change').style.backgroundImage = newImage; 
} 

setInterval(setbackground, 4000); 

meine Demo Here

für mehr Bilder aktualisiert Siehe:

var images = [ 
    "url(image.png)", 
    "url(image2.png)", 
    "url(image3.png)" 
]; 

var index = 0; 
var newImage = ''; 
function setbackground() { 
    newImage = images[index]; 
    if (index !== images.length){ 
    index++; 
    } 
    else { 
    index = 0;    
    } 

    document.getElementById('change').style.backgroundImage = newImage; 
} 

setInterval(setbackground, 4000); 
+0

Wie kann ich mehr Bilder hatte, gibt es kein Problem mit dem Code –

+0

Ich habe gerade meinen Code oben aktualisiert, bitte sehen Sie es. – WorkWe

0

von dynamischen Bildnamen jeden Anruf Funktion übergibt (Pfad) setBackground().

+0

Ich habe dich nicht bekommen, was soll ich tun? –

+0

@OzCohen, erklären Sie bitte Ihre Anforderung im Detail. Ich werde dir den vollen Code schicken. –

Verwandte Themen