我正在尝试淡出div元素,更改其中的文本,并将其淡入... ...
我的代码就在这里 -
<script>
$(document).ready(function(){
$("#l2").click(function(event){
event.preventDefault();
$("#1").fadeOut();
$("#1").replaceWith('Testing');
$("#1").fadeIn();
});
});
</script>
单击l2点击它将fadeOut div id 1替换并淡入...但它失败了......非常感谢!
答案 0 :(得分:3)
您希望使用.text
或.html
而不是.replaceWith
- 这是用于处理DOM元素。此外,.text
和.html
不能与队列一起使用,因此您无法将它们链接起来。你必须使用回调:
$("#1").fadeOut(function () {
$(this).text('Testing').fadeIn();
});
答案 1 :(得分:1)
您需要使用回调来实现目标:
$("#1").fadeOut(500, function(){
$("#1").html('Testing');
$("#1").fadeIn();
});
当fadeOut完成时,将执行作为参数传递的函数。
答案 2 :(得分:0)
只需使用淡出回调即可。这是一个快速小提琴http://jsfiddle.net/M5PnY/2/点击文字
编辑------
用html()更改替换,之前没有看到
$(document).ready(function(){
$("#1").click(function(event){
event.preventDefault();
$("#1").fadeOut(function(event){
$("#1").html('Testing').fadeIn();
});
});
});
答案 3 :(得分:0)
在第二行中,您将元素#1替换为新元素,然后再次将其淡入淡出。
$("#1").replaceWith('Testing');
结果div#1被文本Testing
取代因此您应该使用:
$("#1").html('Testing');