This post expands on my original jQuery Preload and Swap Navigation Images post. The original code required you to enter the file extension (eg: jpg, png, gif). The modifications below make this jQuery hover/rollover/swap code totally dynamic 🙂
$(document).ready(function() { //preload images var preloadedImages = new Array(); $('#container img').each(function(i) { preloadedImages[i] = new Image(); var ext = $(this).attr('src').split('.').pop(); preloadedImages[i].src = $(this).attr('src').split('.' + ext).join('-hover.' + ext); }); //rollover effect $('#container a').hover(function() { var ext = $(this).find('img').attr('src').split('.').pop(); $(this).find('img').attr('src', $(this).find('img').attr('src').split('.' + ext).join('-hover.' + ext)); }, function() { var ext = $(this).find('img').attr('src').split('.').pop(); $(this).find('img').attr('src', $(this).find('img').attr('src').split('-hover.' + ext).join('.' + ext)); }); });
The only significant change from my original code to grab the file extension (var ext = value) before preloading or swapping the images… Continue reading