sequence of page.visual_effect and page.replace_html


I've got will_paginate working with AJAX (using un-obstructive javascript, i.e. good for SEO). All good.

When the user clicks "Next >>", I want the next page of results to fade in. But the problem seems to be (in the code below) that both page.replace_html and page.visual_effect get called at the same time. So the new div starts to fade in, then gets drawn completely (once the AJAX call has returned) ... then drops back to whichever fade level it was up to, then keeps going.

page.replace_html "classical", :partial => 'view_summary', :locals => { :my_files => @my_files} page.visual_effect :Opacity, "classical", :from => 0.0, :to => 1.0, :duration => 3

Is there a way that I can hold off running page.visual_effect until page.replace_html has completed?

(BTW, havn't had much luck with page.delay)


Have you tried hiding the div right after you page.replace_html, then using page.visual_effect :Appear?

Here's an example of how I update my comment list with the same effect.

page.replace_html 'comments', :partial => 'blog/comment', :collection => @comments page.hide 'comment_' + page.visual_effect :Appear, 'comment_' +

Hi Aaron,

yeah, for some reason Appear seems to work much better than the Opacity effect.

The only issue I have now is that the whole page jumps around when I hide the Div ... I have to find some way of keeping its size when hiding .... urgh... css.