2017-01-16 6 views
0

Ich schrieb ein einfaches Skript in Board erstes Element überspringt Hintergrund auf Klick zu ändern, und das Problem ist, zweite Wiederholung, wenn das erste Element in Platine weggelassen wird mein Code hierHintergrund auf Klick ändern und

$(function() { 
    var i = 0; 
    var preloadImg = [ 
     'https://www.colourbox.com/preview/11903964-black-and-white-embossed-paper-background-lighting-effect.jpg', 
     'http://download.4-designer.com/files/20140222/Personalized-lobes-mosaic-background-vector-material-57935.jpg', 
     'http://www.tabletwallpapers.org/download/peak-wallpaper_800x800.png', 
     'https://s29.postimg.org/51x27g4dj/save_world_colo2r.jpg' 
    ]; 

    $(".right").click(function() { 
     if (i < preloadImg.length) { 
      $('.back').css('background-image', 'url(' + preloadImg[i] + ')'); 
     } else if (i == preloadImg.length) { 
      i = 0;   
     } 
     i++; 
    }); 
}); 

Hier das: Hier Demo

+0

Sie setzen 'i = 0;', und dann erhöhen Sie i danach wieder mit 'i ++;' – CBroe

Antwort

0

Vielleicht können Sie dieses versuchen:

$(".right").click(function(){    
     if(i==preloadImg.length){ 
     i = 0; 
     } 
     $('.back').css('background-image', 'url(' + preloadImg[i] + ')'); 
     i++; 
}); 

Hier ist die fiddle

+0

Danke Jerred für Hilfe, es löst mein Problem 100% –

0

Sie gehen

$(function() { 

    var i = 0; 
    var preloadImg = ['http://www.tabletwallpapers.org/download/peak-wallpaper_800x800.png','https://www.colourbox.com/preview/11903964-black-and-white-embossed-paper-background-lighting-effect.jpg','http://download.4-designer.com/files/20140222/Personalized-lobes-mosaic-background-vector-material-57935.jpg','https://s29.postimg.org/51x27g4dj/save_world_colo2r.jpg']; 

    $(".right").click(function() { 

    if(i<preloadImg.length) { 
     $('.back').css('background-image', 'url(' + preloadImg[i] + ')'); 
     i++; 
     if(i==preloadImg.length) { 
     i = 0; 
     } 
    } 
    }); 
}); 
0

nicht sicher, ob ich völlig verstehen, was Sie sagen, aber wenn es der Fall, dass Sie die sind vermisst erstes Bild nach einer vollständigen Schleife gibt es ein paar Möglichkeiten, es zu beheben, ist die einfachste einfach Ihr Bild im anderen Teil zu setzen ...

https://jsfiddle.net/ux5a8e0o/12/

if (i < preloadImg.length) { 
     $('.back').css('background-image', 'url(' + preloadImg[i] + ')'); 

    } else if (i == preloadImg.length) { 
     i = 0; 
     $('.back').css('background-image', 'url(' + preloadImg[i] + ')'); 
    } 
    i++; 

Es gibt elegantere Wege jedoch. ..

Verwandte Themen