0

我想从一些 Rails 代码生成的 HTML 表中删除一行,我希望其他行“向上滑动”到新位置。

我对此有点陌生,我确信我可能犯了一个简单的错误。

这是生成表格行的部分代码:

<tr id="ride_<%=h ride.id %>">
  <td><%=h ride.name %></td>
  <td><%=h ride.land %></td>
  <td align="right"><%=h ride.height_restriction %></td>
  <td><%= link_to_remote 'remove', :url => { :action => :destroy, :ride_id => ride.id }, :html => {:onclick => "Effect.SlideUp('ride_" + ride.id.to_s + "')"} %></td>
</tr>

这是从该部分生成的 HTML:

<tr id="ride_130">
  <td>thrill ride</td>
  <td>fun land</td>
  <td align="right">40</td>
  <td><a href="#" onclick="Effect.SlideUp('ride_130'); new Ajax.Request('/SimpleRailsApp/rides/destroy?ride_id=130', {asynchronous:true, evalScripts:true, parameters:'authenticity_token=' + encodeURIComponent('9f2334b84d2da7eddfbfaadf8138c0a1c8feca47')}); return false;">remove</a></td>
</tr>

现在,行删除好了,但我没有得到很酷的 AJAX 效果。它只是有点“啪”的一声。

到目前为止,“Puff”是我能够制作的唯一效果。

任何帮助或建议将不胜感激。

更新

难道这种效果在表格元素内部不起作用?我已经在无序列表上尝试了几乎完全相同的代码,它似乎工作正常。

我还发现了另一个问题,它说动画在 jQuery 中的表格上也不起作用,所以我在这里可能不走运。

4

3 回答 3

0

由于动画是“捕捉”,您可能想尝试添加持续时间选项: Effect.SlideUp('id_of_element', { duration: 3.0 });

于 2009-07-24T18:13:32.617 回答
0

你是否包含了默认的 JS 库?

<%= javascript_include_tag :defaults %>
于 2009-07-24T18:48:36.557 回答
0

我找到了另一个 Stack Overflow 对一个问题的答案,该问题说动画在 jQuery 中的表格上也不起作用,所以我可能在这里不走运。

于 2009-07-24T18:48:46.337 回答