2 回答

TA貢獻1780條經驗 獲得超5個贊
您還需要創建一個 JS 文件。您的 JS 文件將包含您的自定義警報功能。您將通過以下行覆蓋默認警報功能
window.alert = myAlertFunction
您將創建一個函數“myAlertFunction”,它有一個參數,即要在警報中顯示的文本。
如果需要,您可以只使用第一個 JSFiddle 中的那個。
function myAlertFunction(txt) {
d = document;
if(d.getElementById("modalContainer")) return;
mObj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
mObj.id = "modalContainer";
mObj.style.height = d.documentElement.scrollHeight + "px";
alertObj = mObj.appendChild(d.createElement("div"));
alertObj.id = "alertBox";
if(d.all && !window.opera) alertObj.style.top = document.documentElement.scrollTop + "px";
alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth)/2 + "px";
alertObj.style.visiblity="visible";
h1 = alertObj.appendChild(d.createElement("h1"));
h1.appendChild(d.createTextNode(ALERT_TITLE));
msg = alertObj.appendChild(d.createElement("p"));
//msg.appendChild(d.createTextNode(txt));
msg.innerHTML = txt;
btn = alertObj.appendChild(d.createElement("a"));
btn.id = "closeBtn";
btn.appendChild(d.createTextNode(ALERT_BUTTON_TEXT));
btn.href = "#";
btn.focus();
btn.onclick = function() { removeCustomAlert();return false; }
alertObj.style.display = "block";
}
最后,一個小功能,去除警報
function removeCustomAlert() {
document.getElementsByTagName("body")[0].removeChild(document.getElementById("modalContainer"));
}
這是一個很好的視頻,它解釋了如果您感到迷茫,如何逐步完成所有事情。

TA貢獻1794條經驗 獲得超8個贊
如果您查看發布的第一個鏈接,它會顯示方法。這是實現它的線路
window.alert = function(txt) {
createCustomAlert(txt);
}
這樣做是將alert()函數變成您自己的自定義函數而不是默認函數。他們使用了一個單獨的函數,createCustomAlert. 您需要創建自己的函數。
我只是style通過 JS設置警報屬性的容器。而不是display:block;,使用display:none;。當然,還有其他方法可以實現這一點。下面是一個例子:
document.getElementById(‘container-id’).style = ‘display:none;’;
另一種方法是創建一個始終隱藏的類。當您想要切換隱藏警報時,您可以添加或刪除此類。這需要 JavaScript,我看到你還沒有使用它。
添加回答
舉報