Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
jQuery fadeToggle由于延迟错误而无法正常工作?_Jquery - Fatal编程技术网

jQuery fadeToggle由于延迟错误而无法正常工作?

jQuery fadeToggle由于延迟错误而无法正常工作?,jquery,Jquery,我有一个部门正在使用电子邮件通讯注册表。单击链接后,将显示此div,用户将看到一个文本框、按钮和一个选项复选框。提交电子邮件地址后,将触发以下代码: $.post("/asynchronous/addEmail.aspx", {email: $(".emailPopupTextBox").val(), optin: thisOptIn }, function (data) { $(".emailText").hide(); $(".thankYouText").show(

我有一个部门正在使用电子邮件通讯注册表。单击链接后,将显示此div,用户将看到一个文本框、按钮和一个选项复选框。提交电子邮件地址后,将触发以下代码:

$.post("/asynchronous/addEmail.aspx", 
{email: $(".emailPopupTextBox").val(), optin: thisOptIn }, 
function (data) { 
    $(".emailText").hide(); 
    $(".thankYouText").show();
    $('.emailPopupBox').delay(800).fadeToggle(); });
返回时,div的内容被隐藏(复选框、按钮和文本框),并向用户显示欢迎消息。起初,这种情况发生得太快,电子邮件弹出窗口消失得太快。因此,我添加了
.delay
,现在emailpopup div显示欢迎消息,运行delay和togglefade,但它并没有像应该的那样消失,而是很快消失并快速闪烁,并与感谢消息一起保持可见。如果我单击最初单击的链接以淡入淡出切换div以显示,它只会使div快速闪烁,但不会隐藏


编辑:在.post之后,.fadeToggle似乎不再正常工作。我正在追踪这个问题。

你可以使用“慢”或通过延迟时间来缓解,而不是延迟

比如:


编辑

// You can change easingFactor to get the desired easing.

var easingFactor = 800;

$.post("/asynchronous/addEmail.aspx", 
    {email: $(".emailPopupTextBox").val(), optin: thisOptIn },
    function (data) { 
        $(".emailText").hide(easingFactor); 
        $(".thankYouText").show(easingFactor); 
        $('.emailPopupBox').fadeToggle(easingFactor); 
    });
);

尝试一下,如果不将代码发布到JSFIDLE

中,请尝试在承诺之后执行代码。此外,除非您正在使用数据,否则可能也不需要将其传递给函数

$.post("/asynchronous/addEmail.aspx", 
{email: $(".emailPopupTextBox").val(), optin: thisOptIn }
}).done(function(){ //have the code execute after the promise is returned. 
    $(".emailText").hide(); 
    $(".thankYouText").show();
    $('.emailPopupBox').delay(800).fadeToggle();
}); 

你能在jsfidle上发布你的html或两者吗?好的,然后我们可以添加
持续时间
,而不是放松。我正在编辑应答,不管是哪种方式,它仍然存在,然后fadeToggle函数在发布后似乎不再起作用。是否可以显示您的实现的JSFIDLE.net?因此,您希望在emailtext和emailpopbox消失后,感谢文本可见?
$.post("/asynchronous/addEmail.aspx", 
{email: $(".emailPopupTextBox").val(), optin: thisOptIn }, 
function (data) { 
    $(".emailText").hide(); 
    $(".thankYouText").show();
    $('.emailPopupBox').fadeToggle(800); 
});
$.post("/asynchronous/addEmail.aspx", 
{email: $(".emailPopupTextBox").val(), optin: thisOptIn }
}).done(function(){ //have the code execute after the promise is returned. 
    $(".emailText").hide(); 
    $(".thankYouText").show();
    $('.emailPopupBox').delay(800).fadeToggle();
});