0

我不知道如何解决这个问题。假设我想为刚刚发布的评论制作动画,也许让它淡入,我将如何在 Rails 中为它设置一个 ID,以便我可以选择它并为其制作动画?是否可以在创建事物时将 ID 应用于它们以便在轨道中为它们设置动画?

编辑

顺便说一句,我不知道 jQuery、Ajax 或 Ruby。我只能靠以前的编程经验和教程来工作。两周内我对rails一无所知,能做到这一点真是个奇迹。我只需要指出正确的方向。

创建.js.erb

$("#commentwall").html("<%= escape_javascript(render(:partial => 'comments')) %>")
$("#commentlist").hide().fadeIn(600)
$("#textbox").val('')

在评论部分

      <%= form_for(@wallpost, :url => {:action => 'create'}, :html => {
                        :id => 'commentform'}, remote: true) do |f| %>
      <%= f.hidden_field :receiver_id, :value => @user.id %>  
      <%= f.text_area :content, :class => 'inputbox', :id => "textbox" %>
      <%= f.submit 'Post', class: 'right btn' %>    
      <% end %>

我在部分评论中还有一个包含所有wallposts 评论的html 列表……我不想发布所有的html。它的长

   <ol><% @user.received_wallposts.reverse.each do |r| %><li>
   <%= r.content %>
   </li>
  <% end %>
  </ol>
4

2 回答 2

4

像这样的问题需要一篇完整的文章来回答,所以让我在这里提供一个概要。

1. 选择你的战斗

如果您刚开始作为一名程序员,请不要在简单可行的情况下将时间花在蓬勃发展上。这种问题将花费您数小时,并且只会为您的用户提供最轻微的好处。

2. 设置 Rails/jQuery

我不会设置 Rails,因为那里有很多教程,但是 jQuery 就像在你的<head>. 请参阅 jQuery 教程以了解如何开始。

3. 使用 jQuery 淡化元素

首先,您为元素提供一个唯一标识符,例如类或 ID。然后,您在 jQuery 中执行类似的操作以使其淡入。对于其他动画,请考虑阅读 jQuery UI 文档。

$(document).ready(function(){
  $('#myelement').fadeIn()
})

To grab the most recent element, you could try one of these:

$('.type:last').fadeIn();
$('#e_23').fadeIn();
$('.box').find('.type:last').fadeIn();
于 2013-06-08T10:21:42.090 回答
1

我想到了。在 ol 和 create.js.erb 中添加了一个 id

如果您关心取悦 W3C,也可以使用有效的 html。

$("#commentsingle li:first-child").first().hide().fadeIn(600)

感谢大家。

于 2013-06-08T10:56:02.667 回答