原型Ajax Updater无法正确更新页面

时间:2011-08-04 05:15:01

标签: javascript html ruby-on-rails prototypejs

我正在使用Prototype Ajax Updater(通过Rails link_to_remote)来插入从服务器返回的一些HTML,位于div的底部。正确的HTML插入到正确的位置,但div底部的新HTML显示在现有页脚的顶部。

如果内容最初是页面的一部分,那么在该内容之后,页脚将被渲染得更低。但是,当插入额外内容时,页脚会保持原样,并且新内容会显示在页脚顶部。

更新:下面是视图代码。页面本身位于:http://likily-stage.heroku.com/newest_members

控制器非常基本,因为它只是调用模型来询问下一批记录:

<h1>Newest Members</h1>
  <div id="member_list">
    <% @people.each do | person |  %>
      <div class="item connection">
        <%= insert_profile_pic(person) %>
        <div class="info">
          <h2><%= link_to h(person.full_name), person %></h2>
          <p class="author">Joined in <%= person.created_at.strftime("%B %Y") %></p>
          <ul>
            <li><span><%= person.reviews.count.to_s %></span> recommendations</li>
            <li><span><%= person.lists.count.to_s %></span> lists</li>
            <li><span><%= person.friends.count.to_s -%></span> connections</li>
          </ul>
        </div>
      </div>
    <% end %>

    <div id="button_div">
      <% if @people.last.id > 1 %>
        <% offset_param = "'offset=" + @next_offset.to_s + "'" %>
        <p>
        <%= button_to_remote "Show More..." , {:url => {:action => 'more_members'},
             :update => 'member_list', :position => :bottom, :with => offset_param,
             :before => "removeElement('member_list','button_div'); Element.show('spinner_div')",
             :after => "Element.hide('spinner_div')"} ,  
             :id => "more_people_button", :class => "button green wide_button" %>
        </p>
      <% end %>
    </div>
  </div>

2 个答案:

答案 0 :(得分:1)

#member_list#content div的设定高度为860px。因此,当你添加内容时,div不会增长(这将推动页脚向下),而只是溢出

答案 1 :(得分:1)

从#content和#member_list中删除高度,这应解决问题。