我有一个简单的javascript代码,如下所示,我想在fadeOut和fadeIn fileds之后重新加载页面,但我不知道我应该在哪里放置window.location.reload();
函数。你有什么建议吗 ?我是JavaScript的新手。
<script>$(document).ready(function() {
$('.updateButton').on('click', function() {
var member_id = $(this).attr('member_id');
var city = $('#city'+member_id).val();
var continent = $('#continent'+member_id).val();
var country = $('#country'+member_id).val();
var id = $('#id'+member_id).val();
req = $.ajax({
url : '/deleteRequest',
type : 'POST',
data :
{city : city,continent : continent,country : country,id : id}
});
req.done(function(data) {
$('#city'+member_id).fadeOut(500).fadeIn(500);
$('#continent'+member_id).fadeOut(500).fadeIn(500);
$('#country'+member_id).fadeOut(500).fadeIn(500);
$('#id'+member_id).fadeOut(500).fadeIn(500);
});
});
});
</script>
答案 0 :(得分:1)
将其放入超时功能
req.done(function(data) {
$('#city'+member_id).fadeOut(500).fadeIn(500);
$('#continent'+member_id).fadeOut(500).fadeIn(500);
$('#country'+member_id).fadeOut(500).fadeIn(500);
$('#id'+member_id).fadeOut(500).fadeIn(500);
setTimeout(function(){
window.location.reload();
},TotalTimeNeededbyThheAnimationInmiliseconds)
});
});
答案 1 :(得分:1)
@IBAction func send(_ sender: UIButton) {
let parentVC = (self.navigationController?.parent)! as! sendController
parentVC.sendText.text = ""
self.removeFromParentViewController()
self.view.removeFromSuperview()
}
答案 2 :(得分:1)
以下是您可以查看并尝试的更新代码。我合并了所有元素,fadeIn
有一个回调,您可以在其中刷新页面。因此,只有在fadeIn
完成后才会重新加载页面:
$('#city' + member_id + ',#continent' + member_id + ', #country' + member_id + ', #id' + member_id).fadeOut(500).fadeIn(500, function() {
location.reload();
});
答案 3 :(得分:1)
你应该试试
req.always(function(){
window.location.reload();
});
无论你是否得到共鸣,它都会起作用。如果你想在回复时重新加载,你可以查看教程here。
答案 4 :(得分:1)
在最新的jquery
中弃用通知:
The jqXHR.success(), jqXHR.error(), and jqXHR.complete() callbacks will be deprecated in jQuery 1.8. To prepare your code for their
最终删除,使用jqXHR.done(),jqXHR.fail()和jqXHR.always() 代替。
使用
.done()
,.fail()
和.always()
代替success()
,error()
和complete()
。
我相信你只想在ajax成功时褪色和隐藏,所以你将它放在done()
。
如果你想在每次ajax完成时重新加载always()
例如:
req.always(function(){
window.location.reload(false);
// If we needed to pull the document from
// the web-server again (such as where the document contents
// change dynamically) we would pass the argument as 'true'.
});
或
如果你想在done()
中同时使用它
那么
req.done(function(){
// you fadein,fadeout code
window.location.reload();
});