jQuery使用附加效果
如何使用.append()
和show('slow')
对append
似乎不起作用,它给出了正常的show()
相同的结果。 没有转换,没有animation。
我怎样才能追加一个div到另一个,并有一个slideDown
或show('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');
其实质是这样的:
- 您正在对父级调用“append”
- 但是你想给新孩子打电话“秀”
这适用于我:
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;