gpt4 book ai didi

javascript - 停止所有代码然后继续,就像 JS 中的 alert()

转载 作者:数据小太阳 更新时间:2023-10-29 04:49:30 35 4
gpt4 key购买 nike

让我解释一下:当您在 JS 中调用 alert() 时,警报下面的所有代码都将停止,当您单击“确定”时,代码返回工作。

我用这段代码制作了自己的自定义警报:

function cAlert()
{
var bOn;
this.show = function (content)
{
bOn = true;
document.write('<div id="turnOffLight"></div><div id="cAlertBox"><div id="cAlertImageBox"><img style="position: absolute; top: 54%; left: 50%; margin-top: -32px; margin-left: -32px;" src="Images/Vectors/1429744831_678136-shield-warning-64.png" alt=""/> </div><div id="cAlertContentBox"> </div><div id="cAlertButtonBox"><input id="cAlertButtonStyle" type="button" value="OK" onclick="cAlert.ok()" /></div></div>');
$("#cAlertContentBox").html(content);
$("#cAlertBox").show();
$("#turnOffLight").fadeIn("fast");

var div = document.getElementById('cAlertBox').offsetWidth;
var res = -Math.abs(div / 2);
document.getElementById('cAlertBox').style.marginTop = res + "px";
};
this.ok = function ()
{
$("#cAlertBox").hide();
$("#turnOffLight").fadeOut("medium");
bOn = false;
};
}

在其他页面中:

<head>
<script src="Scripts/jQuery_1.11.2.js" type="text/javascript"></script>
<script src="Scripts/cAlertScript.js" type="text/javascript"></script>
<script type="text/javascript">var cAlert = new cAlert();</script>
</head>

但是我有一个问题,在登录页面,在调用 cAlert() 之后,我调用这个:

echo "<script>javascript:history.go(-1)</script>";

返回上一页,以前用alert(),只有用户点击ok后,浏览器才返回上一页,但是用cAlert,浏览器已经返回上一页了。

我想要的是用户需要单击“确定”按钮才能让代码继续作为警报 ()。

最佳答案

cAlert.show(content) 更改为 cAlert.show(content, success)。将 cAlert.ok() 更改为 cAlert.ok(' + success + ')。将this.ok = function()改为this.ok = function(success),最后在最后添加success(); ok() 函数。

当单击 cAlert 中的按钮时,这将调用 success

您现在需要调用 cAlert.show("text", function() { javascript:history.go(-1),而不是调用 cAlert.show("text") ; } )


所以你的代码现在应该是:

function cAlert()
{
var bOn;
this.show = function (content, success)
{
bOn = true;
document.write('<div id="turnOffLight"></div><div id="cAlertBox"><div id="cAlertImageBox"><img style="position: absolute; top: 54%; left: 50%; margin-top: -32px; margin-left: -32px;" src="Images/Vectors/1429744831_678136-shield-warning-64.png" alt=""/> </div><div id="cAlertContentBox"> </div><div id="cAlertButtonBox"><input id="cAlertButtonStyle" type="button" value="OK" onclick="cAlert.ok(' + success + ')" /></div></div>');
$("#cAlertContentBox").html(content);
$("#cAlertBox").show();
$("#turnOffLight").fadeIn("fast");

var div = document.getElementById('cAlertBox').offsetWidth;
var res = -Math.abs(div / 2);
document.getElementById('cAlertBox').style.marginTop = res + "px";
};
this.ok = function (success)
{
$("#cAlertBox").hide();
$("#turnOffLight").fadeOut("medium");
bOn = false;

success();
};
}

和:

<head>
<script src="Scripts/jQuery_1.11.2.js" type="text/javascript"></script>
<script src="Scripts/cAlertScript.js" type="text/javascript"></script>
<script type="text/javascript">
var cAlert = new cAlert();
cAlert.show("text", function() { javascript:history.go(-1); } );
</script>
</head>

关于javascript - 停止所有代码然后继续,就像 JS 中的 alert(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29908237/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com