【发布时间】:2016-09-10 03:44:02
【问题描述】:
第一次加载页面时,第一次调用 Ajax 时,FadeIn 在我的成功函数中不起作用。其他 Jquery 函数确实有效,但确实有效,即 AddClass、HTML、Delay、Hide。然而,一旦页面被加载,任何后续的 Ajax 调用 FadeIn 都可以工作……也就是说,直到页面被刷新,当 FadeIn 再次第一次不工作时。我究竟做错了什么 ?谢谢 !
HTML
<div class="updated_comment"></div>
<button type="button" id="update_comment" class="btn btn-primary">ONLY Update Comments</button>
JQuery:
$("#update_comment").click(function () {
event.preventDefault();
var comment = $(".edit_comment").val();
var $id = $("#reference").val();
$.ajax({
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
type: "POST",
url: 'update_comment/'+$id,
data: {edit_comment:comment},
success: function () {
$(".updated_comment").addClass("alert alert-success");
$(".updated_comment").html("The Comment Has Been Updated").fadeIn(1000).delay(1000).hide(2000);
},
error: function () {
alert('there has been a system level error - please contact support')
}
});
});
【问题讨论】:
-
是否有任何 CSS 应用于
.updated_comment会影响其显示、高度等? -
淡入并再次隐藏...
fadeIn(1000).delay(1000).hide(2000)?? -
@BrianGlaz 在显示之后或之前没有添加 css。
-
你在哪里设置了 id
#update_comment?具有该 id 的元素在哪里?我想知道为什么点击后会发生任何事情。 -
@EdwardBlack 不,它没有。它是一个变量名,所以它可以是任何东西。大多数时候,开发人员在前面使用
$只是为了知道它是一个jquery 对象(虽然在这种情况下不是:)),就是这样。没有区别。这取决于意见,要不要在前面放一个都没关系
标签: jquery