我尝试了几种不同的方法来实现这一点,我可以让fadeIn或fadeOut工作,但不能同时工作。我正在寻找的是能够点击存储在a href属性中的图像并淡化单词“更新”到div id标签,fadeOut,然后淡出单词“更多工具”或只显示单词“更多工具“因为它已经是第一个标题单元格中的值。
<a id="1" href="" class ="edit_button" title="edit1"><img src="images/editbutton.jpg" title="Submit Your Edit" border="0" height="24" width="24"></img></a>
<th colspan="3"><div id="editupdate">More Tools</div></th>
function (data) {
$('#editupdate').fadeIn().html('Update').delay(2500).fadeOut();
});
答案 0 :(得分:0)
试试以下......
$("#editupdate").fadeIn(1000,function(){
var tmp = $(this).html();
$("#editupdate").html('Update').fadeOut(1500, function(){
$("#editupdate").html(tmp).fadeIn(1500);
});
});
答案 1 :(得分:0)
不起作用的原因是因为html
函数没有进入fadeIn
,fadeOut
和delay
使用的fx队列。要让代码在队列中,您可以使用queue
jQuery函数。 http://api.jquery.com/queue/#queue-queueName-callback-next-
$("#editupdate").fadeIn(1000).queue(function(next) {
$(this).html("Update");
next(); //make sure the next function in the queue gets triggered
}).delay(2500).fadeOut(1500);
这应该是您的示例代码尝试执行的操作。如果要在fadeOut
之后再次更改元素的HTML,只需添加另一个对队列的调用。或者,您可以使用fadeIn
的回调参数来执行相同的操作(如Nikhil所建议的那样)。我更喜欢这种方法,因为它避免在函数内部使用函数,但它们也做同样的事情。