如何让是alert弹出框剧中

问题描述:

下面是那一段的代码 如果不熟悉 下面的是网页

原问题
这一段代码 就是弹出的字体要红色 弹出的框 要剧中

   function updateSumDiff() {//更新合计和差距
        var sum = [];//每营养小计
        tbFood.find('tr').each(function () {
            $('td:gt(2)', this).each(function (index) {
                sum[index] = (parseInt(this.innerHTML) || 0) + parseFloat(sum[index] || 0);
            });
        });
        if (sSex.val() != '请选择') {
            var tHead = $('#tab_Test3 tr:first td')
            var s = '';
            tdAges.each(function (index) {
                var v = ((parseInt(this.innerHTML) || 0) + parseFloat(sum[index] || 0));
                tdSums.eq(index).html(v);
                v = (parseInt(this.innerHTML) || 0) - parseFloat(sum[index] || 0);
                tdDiffs.eq(index).html(v).css('color', v < 0 ? 'red' : 'black');
                if (v < 0) {
                    s += tHead.eq(index+3).text() + '需要补充!\n';
                }
            });
                        //////////////缺少提示
            if (s) alert(s)
        }


    }

    function href(o) {
        window.open('foodcalculation1.html?' + encodeURIComponent($(o).closest('tr').find('td:first').text()))
        //$(o).click((function(){
        //  window.location.href="http://www.jisuan360.com/foodcalculation1.html";
        //}))
    }

alert控制不了颜色,你用控制颜色只能用div模拟

     function MyAlert(s) {
        var div = document.getElementById('divAlert');
        if (!div) {
            div = document.createElement('div');
            div.id = 'divAlert';
            div.style.cssText = 'background:#fff;border:solid 1px #999;color:red;position:fixed;left:50%;top:50%;width:300px;height:200px;overflow:auto;margin-left:-150px;margin-top:-100px';
            document.body.appendChild(div);
        }
        div.innerHTML = s+'<br/><input type="button"  value="确定" onclick="this.parentNode.style.display=\'none\'">';
    }

if (s) alert(s)
改为
if (s) MyAlert(s)

你要漂亮点就用artDialog:http://lab.seaning.com/

自定义alert的css

绝对居中

margin: auto;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;

推荐答案里的http://layer.layui.com/这个也是弹出层,也是通过js动态生成结点实现,如果要居中的话就是也是用js获取页面的宽度,再减去弹出框本身的宽度除2,赋值给position的left,top就是可视页面的高度减去弹出框的高度除以2,然后就定位在水平垂直中间了
自带的alert应该是不能的,可以通过js动态创建结点,创建弹出层覆盖页面上方,给它id或者class(这些用css控制),然后用js控制position,控制关闭,

参考:http://bupt-hjm.github.io/2016/01/05/JavaScript-%E5%BC%B9%E5%87%BA%E5%B1%82%E7%9A%84%E5%AE%9E%E7%8E%B0/

New Document     function autoCloseAlert(msg)   {      var tempFrm=document.getElementById("msgFrm");   if(tempFrm==null||typeof(tempFrm)=="undefined")   {     tempFrm =document.createElement("ifra......
答案就在这里:自动关闭的弹出框(alert)
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

如果你想要弹窗的话,可以参考一下layer这个插件