Pozwól mi wyjaśnić: Gdy wywołasz alert() w JS, cały kod, który w dolnej części alertu, zatrzyma się i po kliknięciu w Ok , kod zwraca pracę.Zatrzymaj cały kod i kontynuuj po nim, jak alert() w JS
mam zrobić własny niestandardowy alert z tym kodem:
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;
};
}
i na innych stronach:
<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>
ale mam problem, na stronie logowania, po połączeniu cAlert(), nazywam to:
echo "<script>javascript:history.go(-1)</script>";
, aby powrócić do ostatniej strony, gdy używałam alert(), tylko po tym, jak użytkownik kliknie ok, przeglądarka powróci do ostatniej strony, ale używając cAlert, przeglądarka powraca już na ostatnią stronę.
Chcę, aby użytkownik kliknął przycisk OK, aby kontynuować kod jako alert().
To jest po prostu niemożliwe w JS oprócz dla natywnych funkcji 'alert()', 'confirm() 'i' prompt() '. Tylko ci mają możliwość zatrzymania wątku wykonywania. Chyba że masz ochotę napisać własny silnik JavaScript, który przestałby wykonywać inne funkcje ...: P +1 za dobrze napisane pytanie. – Scimonster