RJS Move to top of div after Ajax request

Hi,

Im updating a scrollable div with many links_to_remote. If a user has scrolled half way down the div and then clicks the link_to_remote outside the div it then updates the scrollable div but stays half way down. I want it to automatically go back to the top of the div.

The code is below for the link to remote, is this possible to do?

<%= link_to_remote "Update Div",             :url => { :action => "load_questions", :id => category},                       :before => "Element.show('main_spinner')",                       :success => "Element.hide('main_spinner')" %>

Any help appreciated.

JB

John Butler wrote:

Im updating a scrollable div with many links_to_remote. If a user has scrolled half way down the div and then clicks the link_to_remote outside the div it then updates the scrollable div but stays half way down. I want it to automatically go back to the top of the div.

Perhaps you could do a javascript "focus" on an element at the top of the div in question? I haven't tried it, so no guarantees, but it may work.

Similar to having <a name="top"></a> for use with links that hop around the page (common usage for FAQ pages), you could make an empty <a> tag with id="top" and focus on it with javascript.

  - Aaron

Aaron Brown wrote:

John Butler wrote:

Im updating a scrollable div with many links_to_remote. If a user has scrolled half way down the div and then clicks the link_to_remote outside the div it then updates the scrollable div but stays half way down. I want it to automatically go back to the top of the div.

Perhaps you could do a javascript "focus" on an element at the top of the div in question? I haven't tried it, so no guarantees, but it may work.

Similar to having <a name="top"></a> for use with links that hop around the page (common usage for FAQ pages), you could make an empty <a> tag with id="top" and focus on it with javascript.

  - Aaron

Thanks for your help,

I created an invisible link at the top of the div and after i update the scrollable div i call the code below at the end of the partial:

<%= javascript_tag render(:update) { |page| page['top'].focus } %>

JB