Team:TU Delft/files/jquery preloadcssimg

From 2010.igem.org

/**

* --------------------------------------------------------------------
* jQuery-Plugin "preloadCssImages"
* by Scott Jehl, scott@filamentgroup.com
* http://www.filamentgroup.com
* reference article: http://www.filamentgroup.com/lab/automated_image_preloading/
* demo page: http://www.filamentgroup.com/examples/preloadImages/
* 
* Copyright (c) 2008 Filament Group, Inc
* Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL (filamentgroup.com/examples/gpl-license.txt) licenses.
*
* Version: 1.0, 31.05.2007
* Changelog:
* 	02.20.2008 initial Version 1.0
* --------------------------------------------------------------------
*/

$.preloadCssImages = function(settings){ //overrideable defaults settings = jQuery.extend({ imgDir: 'images' }, settings);

//dump all the css rules into one string var sheets = document.styleSheets; var cssPile = ; for(var i = 0; i<sheets.length; i++){ if(!$.browser.msie){ var thisSheetRules = document.styleSheets[i].cssRules; for(var j = 0; j<thisSheetRules.length; j++){ cssPile+= thisSheetRules[j].cssText; } } else { cssPile+= document.styleSheets[i].cssText; } } //parse string for image urls and load them into the DOM var allImgs = [];//new array for all the image urls var imgUrls = cssPile.match(/[^\/]+\.(gif|jpg|jpeg|png)/g);//reg ex to get a string of between a "/" and a ".filename" if(imgUrls != null && imgUrls.length>0 && imgUrls != ){//loop array var arr = jQuery.makeArray(imgUrls);//create array from regex obj $(arr).each(function(k){ allImgs[k] = new Image(); //new img obj allImgs[k].src = settings.imgDir +'/'+ this; }); } return allImgs; }