Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调用jquery函数后重新加载页面_Javascript_Jquery_Asp.net Mvc - Fatal编程技术网

Javascript 调用jquery函数后重新加载页面

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

我有一个div,我正在
$(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;
    }