Re: Image preloading

steve ross
2010-04-11T01:43:37Z

On Apr 10, 2010, at 9:32 AM, ChaosKnight wrote:
>
> Hi, I am still very new to Ruby on Rails, but I''m busy with my
first
> RoR website, everything went well, until I realized that my images
> didn''t preload... On previous websites I used a simple JavaScript
> preloader that seemed to work very well:
>
>    function preloadImages() {
>      if (document.images) {
>        var imgFiles = preloadImages.arguments;
>        var preloadArray = new Array();
>        for (var i=0; i < imgFiles.length; i++) {
>          preloadArray[i] = new Image;
>          preloadArray[i].src = imgFiles[i];
>       }
>     }
>   }
>
> And I called it from within the HTML:
>
>    <body
onload="preloadImages(''/images/home.png'',....etc....)
>
> This is how I called the image rollover in the Rails code:
>    <%= link_to(image_tag(''home.png'',
:mouseover=>"home_ro.png"), ''/'',
> {:controller=>''home'',
:action=>''index''}) %>
>
> Can anyone please tell me why this didn''t work? I also heard that
> Prototype has it''s own built-in image preloader, is this true?
>
> Thanks I really appreciate your help!


You''ll want to take the onload out of the body tag and do something
like this in your application.js file:

document.observe("dom:loaded", function()
{
  preloadImages(''/images/home.png'',....etc....);
}
);