0

我需要使用下一个图标图像创建自定义警报框。我使用了文本链接,但我不知道如何放置下一个图标而不是文本链接。我在这里添加了我的自定义警报框功能。任何人都可以帮助做到这一点。此图像在根目录中命名为 new-go-next.png。

function createCustomAlert(txt,string_url) {
    // shortcut reference to the document object
    d = document;

    // if the modalContainer object already exists in the DOM, bail out.
    if(d.getElementById("modalContainer")) return;

    // create the modalContainer div as a child of the BODY element
    mObj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
    mObj.id = "modalContainer";
     // make sure its as tall as it needs to be to overlay all the content on the page
    mObj.style.height = document.documentElement.scrollHeight + "px";

    // create the DIV that will be the alert 
    alertObj = mObj.appendChild(d.createElement("div"));
    alertObj.id = "alertBox";
    // MSIE doesnt treat position:fixed correctly, so this compensates for positioning the alert
    if(d.all && !window.opera) alertObj.style.top = document.documentElement.scrollTop + "px";
    // center the alert box
    alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth)/2 + "px";

    // create an H1 element as the title bar
    h1 = alertObj.appendChild(d.createElement("h1"));
    h1.appendChild(d.createTextNode(ALERT_TITLE));

    // create a paragraph element to contain the txt argument
    msg = alertObj.appendChild(d.createElement("p"));
    msg.innerHTML = txt;

    // create an anchor element to use as the confirmation button.
    btn = alertObj.appendChild(d.createElement("a"));
    btn.id = "closeBtn";
    btn.appendChild(d.createTextNode(ALERT_BUTTON_TEXT));
    btn.href="";
    // set up the onclick event to remove the alert when the anchor is clicked
    btn.onclick = function() { removeCustomAlert(); window.location=string_url;return false; }


}
4

2 回答 2

1
    function createCustomAlert(txt, string_url) {
        // shortcut reference to the document object
        d = document;

        // if the modalContainer object already exists in the DOM, bail out.
        if (d.getElementById("modalContainer")) return;

        // create the modalContainer div as a child of the BODY element
        mObj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
        mObj.id = "modalContainer";
        // make sure its as tall as it needs to be to overlay all the content on the page
        mObj.style.height = document.documentElement.scrollHeight + "px";

        // create the DIV that will be the alert 
        alertObj = mObj.appendChild(d.createElement("div"));
        alertObj.id = "alertBox";
        // MSIE doesnt treat position:fixed correctly, so this compensates for positioning the alert
        if (d.all && !window.opera) alertObj.style.top = document.documentElement.scrollTop + "px";
        // center the alert box
        alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth) / 2 + "px";

        // create an H1 element as the title bar
        h1 = alertObj.appendChild(d.createElement("h1"));
        h1.appendChild(d.createTextNode(ALERT_TITLE));

        // create a paragraph element to contain the txt argument
        msg = alertObj.appendChild(d.createElement("p"));
        msg.innerHTML = txt;

        // create an anchor element to use as the confirmation button.
        //btn = alertObj.appendChild(d.createElement("a"));
        //btn.id = "closeBtn";
        //btn.appendChild(d.createTextNode(ALERT_BUTTON_TEXT));
        //btn.href = "";


        btn = alertObj.appendChild(d.createElement("img"));
        btn.id = "closeBtn";
        btn.src = 'new-go-next.png';


        // set up the onclick event to remove the alert when the anchor is clicked
        btn.onclick = function () { removeCustomAlert(); window.location = string_url; return false; }


    }
于 2012-10-21T05:15:47.017 回答
0

只需在元素内添加图像 dom 元素。

var oImg=document.createElement("img");
oImg.setAttribute('src', 'next-to-go');
oImg.setAttribute('alt', 'na');
oImg.setAttribute('height', '60px');
oImg.setAttribute('width', '60px');    

btn.appendChild(oImg);

查看jsfiddle。

于 2012-10-21T05:33:19.220 回答