jQuery.presetPreloader
img preloader. Using deferred, presetPreloader creates only one img element to preload given src even if multiple preloading was requested.
$.presetPreloader.register({
/* static paths */
'button1': [ 'button1_hover.png', 'button1_active.png' ],
'button2': [ 'button2_hover.png', 'button2_active.png' ],
/* String.prototype.replace method's arguments.
use img's src attr as original src. */
'hoverimg': [
[/^(.+_)normal(\.[^.]+)$/, '$1hover$2'],
[/^(.+_)normal(\.[^.]+)$/, '$1active$2']
]
});
<a href="#" class="ir button1 js-preload" data-presetpreload-key="button1">Button</a> <a href="#" class="ir button2 js-preload" data-presetpreload-key="button2">Button</a> <a href="#" class="ir button1 js-preload" data-presetpreload-key="button1">Button</a> <a href="#" class="ir button2 js-preload" data-presetpreload-key="button2">Button</a> <!-- and, code :hover, :active image replacement css for these anchors... -->
$('.js-preload').presetPreload(); // fire preload
$.presetPreloader.load('hoverimg', 'hogehoge_normal.png'); // can fire preload to call load method directly
blog comments powered by Disqus