Answers:
附加效果无效,因为div附加后,浏览器显示的内容就会立即更新。因此,结合Mark B和Steerpike的答案:
在实际添加div之前,将其样式设置为隐藏。您可以使用内联或外部CSS脚本执行此操作,也可以仅将div创建为
<div id="new_div" style="display: none;"> ... </div>
然后,您可以将效果链接到您的append(demo):
$('#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');
element.slideUp("slow", function(){ element.appendTo(parent).hide(); element.slideDown(); });
当您附加到div时,将其隐藏并与参数一起显示"slow"
。
$("#img_container").append(first_div).hide().show('slow');
我需要一种类似的解决方案,想在Facebook之类的墙上添加数据,以便在发布时用于prepend()
在顶部添加最新帖子,以为对其他人可能有用。
$("#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>