动画PrimeFaces数据表的第一个元素

时间:2012-03-28 14:13:26

标签: jquery jsf animation primefaces jquery-effects

我已经在 dataTable 中加载了一个帖子列表,我有一个表单可以将新帖子添加到“墙”中。

我想做类似Facebook的墙,所以当我插入一个新的帖子时,我想在它出现时有一个淡化效果。

我已尝试使用PrimeFaces的效果,但它会将效果应用于整个DataTable,所以我想使用一个简单的JQuery脚本,但我不知道该怎么做。

这是我上一次尝试的简单代码(不起作用!):

<script type="text/javascript">  
        function animateNewPost(id) {                 
            jQuery('#post_' +id).effect("slide", { direction: "right" }, 2000);                
        }  
    </script>
[cut]
<p:commandLink ajax="true" action="#{postBean.insertPost(loginBean.user)}" value="Insert Post" update=":postMessage, :postList, :postForm" oncomplete="animateNewPost(#{lazyPostBean.posts.get(0).getIdPost()})"/>
[cut]
 <p:dataTable id="postTable" var="post" value="#{lazyPostBean.posts}">
                    <p:column style="border: 0px; background: rgba(0,0,0,0);">                            
                        <div class="feature">                                
                            <div class="post_#{post.idPost}">                                
                                [POST CONTENT]           
                            </div>
                        </div>
                    </p:column>                                              
                </p:dataTable>

我该怎么做?

编辑:id正确传递给javascript函数,而Post的div的HTML输出是

<div class="post_24">

所以我猜这是对的。

1 个答案:

答案 0 :(得分:0)

首先,你应该将你的jquery选择器从#修复为.(单点),其目标是引用类jQuery('.post_

这样的类

class selector