【问题标题】:Rails : slideUp() is working but with no transitionRails:slideUp() 正在工作,但没有过渡
【发布时间】:2017-06-13 21:31:09
【问题描述】:

对于一个简单的待办事项列表项目,我想使用 .slideUp() 方法来删​​除任务。当线条消失时,这项工作很好,但动作执行得很大胆,没有平滑的过渡效果。如果我更改 .slideUp() 方法的持续时间,动作迟早会执行,但仍然没有过渡效果。

我需要特定的文件或 gem 吗? .slideUp() 方法是否适用于每个 html 标签? (这里是表,不是 ul)

感谢您的帮助!

更新
我将“tr”高度扩展到 90px 并观察到 ​​slideUp() 可以完美运行,直到动画与“tr”和“td”标签内的文本相遇。就在这时,动画“停止”了,几毫秒后,这条线终于消失了。就好像动画可以在行的空白处正常工作,而在文本上出现错误。

//我的TaskController和销毁动作

def destroy
 @task = Task.find(params[:id])
 @task.delete

 respond_to do |format|
  format.html { redirect_to root_path }
  format.js { }
 end
end

//destroy.js.erb

$('tr[data-task-id="<%= @task.id %>"]').slideUp(500);

// index.html.erb文件(索引为root_path)(提取)

<% @tasks.each_with_index do |task, index| %>
 <tr data-task-id="<%= task.id %>">
  <td class="text-center"><%= index + 1 %></td>
  <td><%= task.title %></td>
  <td class="text-center"><%= task.time.to_s + " h"%></td>
  <td class="text-center">
  <%= link_to task, method: :delete, remote: true do %>
    <i class="fa fa-times" aria-hidden="true"></i>
  <% end %>
  </td>
 </tr>
<% end %>

【问题讨论】:

  • 更新:它用
    • 替换了 和 标签,现在它可以工作了!也许 .slideUp() 不能与每个 html 标签一起正常工作,或者 table 和 list 中的默认参数之间存在一些差异。

标签: jquery ruby-on-rails slideup


【解决方案1】:

您可能需要添加缓动:

$("tr[data-task-id="<%= @task.id %>"]").slideUp({ duration: 500, easing: "easeInOutQuart" });

【讨论】:

  • 谢谢奥斯曼。不幸的是,问题仍然存在。我会检查是否有任何要求。
【解决方案2】:

我还没有发现为什么 tr 标签的 slideUp() 效果并不完全平滑,但我通过动画 td 标签和 tr 标签在它们之间有一个小的延迟解决了它(不完美但暂时还可以) :

$("td[data-task-id=<%= @task.id %>]").slideUp(240);
$("tr[data-task-id=<%= @task.id %>]").slideUp(500);

【讨论】:

    猜你喜欢
    • 2016-05-12
    • 1970-01-01
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    • 2016-02-05
    相关资源
    最近更新 更多