Javascript 调用jquery函数后重新加载页面
我有一个div,我正在Javascript 调用jquery函数后重新加载页面,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我有一个div,我正在$(document).ready(function())处检查它的条件,然后决定是否显示它 div中有一个按钮,它使整个div淡出。问题是在调用fadeout()函数后,$(文档)。再次调用ready(函数())(即重新加载页面),并且再次满足显示div的条件 我想防止调用fadeout()函数后重新加载页面 HTML javascript function fadeoutbox() { $(".success").fadeOut(5000, functio
$(document).ready(function())
处检查它的条件,然后决定是否显示它
div中有一个按钮,它使整个div淡出。问题是在调用fadeout()
函数后,$(文档)。再次调用ready(函数())
(即重新加载页面),并且再次满足显示div的条件
我想防止调用fadeout()
函数后重新加载页面
HTML
javascript
function fadeoutbox() {
$(".success").fadeOut(5000, function () {
/*$(".success").css("display", "none");
$("#closenotification").css("display", "none");*/
});
}
$(function () {
var successres = '<%= ViewData["successResult"] %>';
//alert(successres != null);
if (successres != "") {
var leftpos = screen.width / 2 - 350;
var toppos = screen.height / 2 - 125;
$(".success").css("left", leftpos);
$(".success").css("top", toppos);
$(".success").css("display", "block");
$("#closenotification").css("display", "block");
}
if ($(".failure").html() != "") {
var leftpos = screen.width / 2 - 350;
var toppos = screen.height / 2 - 125;
$(".failure").css("left", leftpos);
$(".failure").css("top", toppos);
$(".failure").css("display", "block");
}
});
函数fadeoutbox(){
$(“.success”).fadeOut(5000,函数(){
/*$(“.success”).css(“显示”、“无”);
$(“关闭通知”).css(“显示”、“无”)*/
});
}
$(函数(){
var successres='';
//警报(成功!=null);
如果(成功!=“”){
var leftpos=屏幕宽度/2-350;
var toppos=屏幕高度/2-125;
$(“.success”).css(“左”,leftpos);
$(“.success”).css(“top”,toppos);
$(“.success”).css(“显示”、“块”);
$(“关闭通知”).css(“显示”、“块”);
}
如果($(“.failure”).html()!=“”){
var leftpos=屏幕宽度/2-350;
var toppos=屏幕高度/2-125;
$(“.failure”).css(“left”,leftpos);
$(“.failure”).css(“top”,toppos);
$(“.failure”).css(“显示”、“块”);
}
});
尝试将onclick
事件移动到link元素中(嵌套在span
中),然后像这样更改函数
function fadeoutbox(evt) {
evt.preventDefault();
$(".success").fadeOut(5000, function () {
...
});
}
您已将图像包装在
标记中。您需要使用以防止在a
标记的单击事件中重新加载页面。或者删除a
标记。删除onclick=“fadeoutbox()”
部分并添加此处理程序:
$('#closenotification').click(function(e) {
e.preventDefault();
fadeoutbox();
});
试试这个:
$(函数(){
var successres='';
//警报(成功!=null);
如果(成功!=“”){
var leftpos=屏幕宽度/2-350;
var toppos=屏幕高度/2-125;
$(“.success”).css(“左”,leftpos);
$(“.success”).css(“top”,toppos);
$(“.success”).css(“显示”、“块”);
$(“关闭通知”).css(“显示”、“块”);
返回;
}
如果($(“.failure”).html()!=“”){
var leftpos=屏幕宽度/2-350;
var toppos=屏幕高度/2-125;
$(“.failure”).css(“left”,leftpos);
$(“.failure”).css(“top”,toppos);
$(“.failure”).css(“显示”、“块”);
返回;
}
})) 您可以执行以下操作之一:
为href放置#
在淡出框的末尾返回false
像其他人说的那样使用e.preventDefault()
我想你的意思是,如果你点击链接,它会重新加载。。。这样做:将答案也标记为已确认,然后自己也尝试preventDefault()。。。这是有区别的,但两者都像你想要的那样工作。在两个if条件结束之前都有一个return语句。另外
e.preventDefault()
类似于return false
No我不能删除标记,因为我有一些css绑定到它。ggzone的解决方案奏效了
$('#closenotification').click(function(e) {
e.preventDefault();
fadeoutbox();
});
var successres = '<%= ViewData["successResult"] %>';
//alert(successres != null);
if (successres != "") {
var leftpos = screen.width / 2 - 350;
var toppos = screen.height / 2 - 125;
$(".success").css("left", leftpos);
$(".success").css("top", toppos);
$(".success").css("display", "block");
$("#closenotification").css("display", "block");
return;
}
if ($(".failure").html() != "") {
var leftpos = screen.width / 2 - 350;
var toppos = screen.height / 2 - 125;
$(".failure").css("left", leftpos);
$(".failure").css("top", toppos);
$(".failure").css("display", "block");
return;
}