我尝试使用以下代码显示然后淡出一些文字:
$('#submit_new_player_order').click(function(e){
//some data to define data_to_send
$.post(ajaxurl, data_to_send, function() {
alert('it is in here');
$('#fade_in_text_sort').html('Your sort order is being saved!');
})
.done(function() {
alert('done');
$('#fade_in_text_sort').html('We saved your data!').delay(2000).fadeOut('fast');
})
});
首次点击提交按钮时,这样可以正常显示文本。当我再次点击提交时,我会收到两个警报但文本永远不会再显示。由于我使用淡出,我认为它会再次显示它,但它不会这样做。有什么想法吗?
答案 0 :(得分:1)
第一次完成ajax时,你隐藏(fadeOut)元素,所以下次你需要显示它(再次隐藏它之前):
$('#fade_in_text_sort').html('We saved your data!').show(0).delay(2000).fadeOut('fast');
以下是一个按钮示例:
$('#submit_new_player_order').on('click', function(e) {
$('#fade_in_text_sort').html('We saved your data!').show(0).delay(2000).fadeOut('fast');
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p id="fade_in_text_sort"></p>
<button id="submit_new_player_order">Submit new order</button>
&#13;