document.write('<link rel="stylesheet" href="http://flowcoder.com/stylesheets/pygment_trac.css" />');
document.write('<link rel="stylesheet" href="http://flowcoder.com/stylesheets/embed.css" />');
document.write('<div class="flowcoder_post flowcoder_clearfix">');
document.write('<div class="flowcoder_posttitle"><a href=\"http://flowcoder.com/2\">Asynchronous jQuery Image Loader Plugin<\/a></div>');
document.write('<div class="flowcoder_postbody flowcoder_syntax"><div class=\"highlight\"><pre><span class=\"p\">(<\/span><span class=\"kd\">function<\/span><span class=\"p\">(<\/span><span class=\"nx\">$<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n  \n  <span class=\"nx\">$<\/span><span class=\"p\">.<\/span><span class=\"nx\">fn<\/span><span class=\"p\">.<\/span><span class=\"nx\">imageAsync<\/span> <span class=\"o\">=<\/span> <span class=\"kd\">function<\/span><span class=\"p\">(<\/span><span class=\"nx\">options<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"kd\">var<\/span> <span class=\"nx\">settings<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">$<\/span><span class=\"p\">.<\/span><span class=\"nx\">extend<\/span><span class=\"p\">({},<\/span> <span class=\"nx\">$<\/span><span class=\"p\">.<\/span><span class=\"nx\">fn<\/span><span class=\"p\">.<\/span><span class=\"nx\">imageAsync<\/span><span class=\"p\">.<\/span><span class=\"nx\">defaults<\/span><span class=\"p\">,<\/span> <span class=\"nx\">options<\/span><span class=\"p\">);<\/span>\n\n      <span class=\"k\">return<\/span> <span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">each<\/span><span class=\"p\">(<\/span><span class=\"kd\">function<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n        \n        <span class=\"k\">if<\/span><span class=\"p\">(<\/span> <span class=\"nx\">$<\/span><span class=\"p\">(<\/span><span class=\"k\">this<\/span><span class=\"p\">).<\/span><span class=\"nx\">attr<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;src&#39;<\/span><span class=\"p\">)<\/span> <span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n          \n          <span class=\"kd\">var<\/span> <span class=\"nx\">originalImageSrc<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">$<\/span><span class=\"p\">(<\/span><span class=\"k\">this<\/span><span class=\"p\">).<\/span><span class=\"nx\">attr<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;src&#39;<\/span><span class=\"p\">);<\/span>\n          <span class=\"kd\">var<\/span> <span class=\"nx\">imgHeight<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">$<\/span><span class=\"p\">(<\/span><span class=\"k\">this<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39;[height]&#39;<\/span><span class=\"p\">).<\/span><span class=\"nx\">attr<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;height&#39;<\/span><span class=\"p\">)<\/span> <span class=\"o\">||<\/span> <span class=\"nx\">settings<\/span><span class=\"p\">.<\/span><span class=\"nx\">h<\/span><span class=\"p\">;<\/span> <span class=\"c1\">// bug in firefox: even if img has no height attr, it will come back as 16<\/span>\n          <span class=\"kd\">var<\/span> <span class=\"nx\">imgWidth<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">$<\/span><span class=\"p\">(<\/span><span class=\"k\">this<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39;[width]&#39;<\/span><span class=\"p\">).<\/span><span class=\"nx\">attr<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;width&#39;<\/span><span class=\"p\">)<\/span> <span class=\"o\">||<\/span> <span class=\"nx\">settings<\/span><span class=\"p\">.<\/span><span class=\"nx\">w<\/span><span class=\"p\">;<\/span>\n\n<span class=\"c1\">// bug in Firefox when setting src=&#39;&#39; OR removing src attribute which causes a double request for an image<\/span>\n<span class=\"c1\">// A better idea would be to set source to a very small, 1x1 gif<\/span>\n                  \n          <span class=\"kd\">var<\/span> <span class=\"nx\">originalImage<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">$<\/span><span class=\"p\">(<\/span><span class=\"k\">this<\/span><span class=\"p\">)<\/span>\n            <span class=\"p\">.<\/span><span class=\"nx\">attr<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;src&#39;<\/span><span class=\"p\">,<\/span><span class=\"s1\">&#39;dot-clear-1x1.gif&#39;<\/span><span class=\"p\">)<\/span> \n            <span class=\"p\">.<\/span><span class=\"nx\">wrap<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;&lt;span class=&quot;&#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">settings<\/span><span class=\"p\">.<\/span><span class=\"nx\">progressClassName<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39;&quot;&gt;&lt;/span&gt;&#39;<\/span><span class=\"p\">)<\/span>\n            <span class=\"p\">.<\/span><span class=\"nx\">parent<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;span&#39;<\/span><span class=\"p\">)<\/span>\n            <span class=\"p\">.<\/span><span class=\"nx\">css<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;display&#39;<\/span><span class=\"p\">,<\/span><span class=\"s1\">&#39;inline-block&#39;<\/span><span class=\"p\">)<\/span>\n            <span class=\"p\">.<\/span><span class=\"nx\">width<\/span><span class=\"p\">(<\/span><span class=\"nx\">imgWidth<\/span><span class=\"p\">)<\/span>\n            <span class=\"p\">.<\/span><span class=\"nx\">height<\/span><span class=\"p\">(<\/span><span class=\"nx\">imgHeight<\/span><span class=\"p\">);<\/span>\n\n          <span class=\"kd\">var<\/span> <span class=\"nx\">img<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">Image<\/span><span class=\"p\">();<\/span>\n          <span class=\"nx\">$<\/span><span class=\"p\">(<\/span><span class=\"nx\">img<\/span><span class=\"p\">)<\/span>  \n            <span class=\"p\">.<\/span><span class=\"nx\">load<\/span><span class=\"p\">(<\/span><span class=\"kd\">function<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">originalImage<\/span><span class=\"p\">.<\/span><span class=\"nx\">replaceWith<\/span><span class=\"p\">(<\/span><span class=\"k\">this<\/span><span class=\"p\">);<\/span> <span class=\"p\">})<\/span>\n            <span class=\"p\">.<\/span><span class=\"nx\">error<\/span><span class=\"p\">(<\/span><span class=\"kd\">function<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span> <span class=\"p\">})<\/span>\n            <span class=\"p\">.<\/span><span class=\"nx\">attr<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;src&#39;<\/span><span class=\"p\">,<\/span> <span class=\"nx\">originalImageSrc<\/span><span class=\"p\">)<\/span>\n            <span class=\"p\">.<\/span><span class=\"nx\">attr<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;width&#39;<\/span><span class=\"p\">,<\/span> <span class=\"nx\">imgWidth<\/span><span class=\"p\">)<\/span>\n            <span class=\"p\">.<\/span><span class=\"nx\">attr<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;height&#39;<\/span><span class=\"p\">,<\/span> <span class=\"nx\">imgHeight<\/span><span class=\"p\">);<\/span>            \n        \n        <span class=\"p\">}<\/span>\n\n     <span class=\"p\">});<\/span>\n\n  <span class=\"p\">}<\/span>\n\n  <span class=\"nx\">$<\/span><span class=\"p\">.<\/span><span class=\"nx\">fn<\/span><span class=\"p\">.<\/span><span class=\"nx\">imageAsync<\/span><span class=\"p\">.<\/span><span class=\"nx\">defaults<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n		<span class=\"nx\">progressClassName<\/span><span class=\"o\">:<\/span> <span class=\"s2\">&quot;progress&quot;<\/span>\n	<span class=\"p\">};<\/span>\n\n<span class=\"p\">})(<\/span><span class=\"nx\">jQuery<\/span><span class=\"p\">);<\/span>\n<\/pre><\/div>\n</div>');
document.write('<div class="flowcoder_bottombar flowcoder_clearfix">');
document.write('<div class="flowcoder_postedby">Posted by <a href=\"http://flowcoder.com/scottymac\">scottymac<\/a> on <a href=\"http://flowcoder.com/\">Flowcoder<\/a></div>');
document.write('<div class="flowcoder_viewraw"><a href=\"http://flowcoder.com/2.txt\">view raw<\/a></div>');
document.write('</div></div>');
