jQuery使用附加效果

如何使用.append()show('slow')

append似乎不起作用,它给出了正常的show()相同的结果。 没有转换,没有animation。

我怎样才能追加一个div到另一个,并有一个slideDownshow('slow')影响呢?

对append有影响将无法正常工作,因为浏览器显示的内容只要追加div就会更新。 所以,要把Mark B和Steerpike的答案结合起来:

在实际追加它之前,将您追加的div设置为隐藏。 你可以用内联或外部的CSS脚本来完成,或者直接创builddiv

 <div id="new_div" style="display: none;"> ... </div> 

然后你可以链接到你的附加( 演示 ):

 $('#new_div').appendTo('#original_div').show('slow'); 

或( 演示 ):

 var $new = $('#new_div'); $('#original_div').append($new); $new.show('slow'); 

其实质是这样的:

  1. 您正在对父级调用“append”
  2. 但是你想给新孩子打电话“秀”

这适用于我:

 var new_item = $('<p>hello</p>').hide(); parent.append(new_item); new_item.show('normal'); 

要么:

 $('<p>hello</p>').hide().appendTo(parent).show('normal'); 

处理传入数据的另一种方式(如从ajax调用):

 var new_div = $(data).hide(); $('#old_div').append(new_div); new_div.slideDown(); 

就像是:

 $('#test').append('<div id="newdiv">Hello</div>').hide().show('slow'); 

应该这样做吗?

编辑:对不起,代码错误,并采取了马特的build议。

当你追加到div, 隐藏它,显示与参数"slow"

 $("#img_container").append(first_div).hide().show('slow'); 

通过CSS visibility:hidden设置最初隐藏的附加div visibility:hidden

我需要一个类似的解决scheme,想在facebook上添加数据,当发布时,使用prepend()将最新的post添加到顶部,对其他人来说可能是有用的。

 $("#statusupdate").submit( function () { $.post( 'ajax.php', $(this).serialize(), function(data){ $("#box").prepend($(data).fadeIn('slow')); $("#status").val(''); } ); event.preventDefault(); }); 

ajax.php中的代码是

 if (isset($_POST)) { $feed = $_POST['feed']; echo "<p id=\"result\" style=\"width:200px;height:50px;background-color:lightgray;display:none;\">$feed</p>"; } 

你为什么不隐藏,追加,然后显示,如下所示:

 <div id="parent1" style=" width: 300px; height: 300px; background-color: yellow;"> <div id="child" style=" width: 100px; height: 100px; background-color: red;"></div> </div> <div id="parent2" style=" width: 300px; height: 300px; background-color: green;"> </div> <input id="mybutton" type="button" value="move"> <script> $("#mybutton").click(function(){ $('#child').hide(1000, function(){ $('#parent2').append($('#child')); $('#child').show(1000); }); }); </script> 

如果使用animation,则可以显示平滑。 风格只是添加“animation:显示1”,整个外观描绘在关键帧中。

在我的情况下:

 $("div.which-stores-content").append("<div class="content">Content</div>); $("div.content").hide().show("fast"); 

你可以调整你的CSS与可见性:隐藏 – >可见性:可见,并调整过渡等转型:可见性1.0s;