How to change the style of alert box?
我需要在警报框中更改"确定"按钮的样式。
1 2 3 4 5 6 7 8 9 10 | <head> <script type="text/javascript"> function show_alert() { alert("Hello! I am an alert box!"); } </head> <body> <input type="button" onclick="show_alert()" value="Show alert box" /> </body> |
警报框是系统对象,不受CSS约束。为此,您需要创建一个HTML元素并模仿
我尝试使用
请参考此编码JS功能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | var ALERT_TITLE ="Oops!"; var ALERT_BUTTON_TEXT ="Ok"; if(document.getElementById) { window.alert = function(txt) { createCustomAlert(txt); } } function createCustomAlert(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")); } |
和
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | #modalContainer { background-color:rgba(0, 0, 0, 0.3); position:absolute; width:100%; height:100%; top:0px; left:0px; z-index:10000; background-image:url(tp.png); /* required by MSIE to prevent actions on lower z-index elements */ } #alertBox { position:relative; width:300px; min-height:100px; margin-top:50px; border:1px solid #666; background-color:#fff; background-repeat:no-repeat; background-position:20px 30px; } #modalContainer > #alertBox { position:fixed; } #alertBox h1 { margin:0; font:bold 0.9em verdana,arial; background-color:#3073BB; color:#FFF; border-bottom:1px solid #000; padding:2px 0 2px 5px; } #alertBox p { font:0.7em verdana,arial; height:50px; padding-left:5px; margin-left:55px; } #alertBox #closeBtn { display:block; position:relative; margin:5px auto; padding:7px; border:0 none; width:70px; font:0.7em verdana,arial; text-transform:uppercase; text-align:center; color:#FFF; background-color:#357EBD; border-radius: 3px; text-decoration:none; } /* unrelated styles */ #mContainer { position:relative; width:600px; margin:auto; padding:5px; border-top:2px solid #000; border-bottom:2px solid #000; font:0.7em verdana,arial; } h1,h2 { margin:0; padding:4px; font:bold 1.5em verdana; border-bottom:1px solid #000; } code { font-size:1.2em; color:#069; } #credits { position:relative; margin:25px auto 0px auto; width:350px; font:0.7em verdana; border-top:1px solid #000; border-bottom:1px solid #000; height:90px; padding-top:4px; } #credits img { float:left; margin:5px 10px 5px 0px; border:1px solid #000000; width:80px; height:79px; } .important { background-color:#F5FCC8; padding:2px; } code span { color:green; } |
和HTML文件:
1 | <input type="button" value ="Test the alert" onclick="alert('Alert this pages');" /> |
并查看此DEMO:JSFIDDLE和DEMO RESULT IMAGE
我使用SweetAlert,它很棒,您将获得很多自定义选项以及所有回调
1 | swal("Here's a message!","It's pretty, isn't it?"); |
不可能。如果要自定义对话框的视觉外观,则需要使用基于JS的解决方案,例如jQuery.UI对话框。
选项1。您可以使用AlertifyJS,这对警报很有用
选项2。您启动或只是加入基于Web应用程序的项目,界面的设计也许很好。否则应更改。为了使用Web 2.0应用程序,您将使用动态内容,许多效果和其他内容。所有这些都很好,但是没有人考虑过设置JavaScript警报和确认框的样式。
这是他们的方式
创建简单的js文件名jsConfirmStyle.js。这是简单的js代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | ie5=(document.getElementById&&document.all&&document.styleSheets)?1:0; nn6=(document.getElementById&&!document.all)?1:0; xConfirmStart=800; yConfirmStart=100; if(ie5||nn6) { if(ie5) cs=2,th=30; else cs=0,th=20; document.write( ""+ "<table>"+ "<tr><td id='jsconfirmtitle'></td></tr>"+ "<tr><td id='jsconfirmcontent'></td></tr>"+ "<tr><td id='jsconfirmbuttons'>"+ "<input id='jsconfirmleft' type='button' value='' onclick='leftJsConfirm()' onfocus='if(this.blur)this.blur()'>"+ ""+ "<input id='jsconfirmright' type='button' value='' onclick='rightJsConfirm()' onfocus='if(this.blur)this.blur()'>"+ "</td></tr>"+ "</table>"+ "" ); } document.write(""); function leftJsConfirm() { document.getElementById('jsconfirm').style.top=-1000; document.location.href=leftJsConfirmUri; } function rightJsConfirm() { document.getElementById('jsconfirm').style.top=-1000; document.location.href=rightJsConfirmUri; } function confirmAlternative() { if(confirm("Scipt requieres a better browser!")) document.location.href="http://www.mozilla.org"; } leftJsConfirmUri = ''; rightJsConfirmUri = ''; /** * Show the message/confirm box */ function showConfirm(confirmtitle,confirmcontent,confirmlefttext,confirmlefturi,confirmrighttext,confirmrighturi) { document.getElementById("jsconfirmtitle").innerHTML=confirmtitle; document.getElementById("jsconfirmcontent").innerHTML=confirmcontent; document.getElementById("jsconfirmleft").value=confirmlefttext; document.getElementById("jsconfirmright").value=confirmrighttext; leftJsConfirmUri=confirmlefturi; rightJsConfirmUri=confirmrighturi; xConfirm=xConfirmStart, yConfirm=yConfirmStart; if(ie5) { document.getElementById("jsconfirm").style.left='25%'; document.getElementById("jsconfirm").style.top='35%'; } else if(nn6) { document.getElementById("jsconfirm").style.top='25%'; document.getElementById("jsconfirm").style.left='35%'; } else confirmAlternative(); } |
创建简单的HTML文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | <html> <head> jsConfirmSyle <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <script type="text/javascript" src="jsConfirmStyle.js"> <script type="text/javascript"> function confirmation() { var answer = confirm("Wanna visit google?") if (answer){ window.location ="http://www.google.com/"; } } <style type="text/css"> body { background-color: white; font-family: sans-serif; } #jsconfirm { border-color: #c0c0c0; border-width: 2px 4px 4px 2px; left: 0; margin: 0; padding: 0; position: absolute; top: -1000px; z-index: 100; } #jsconfirm table { background-color: #fff; border: 2px groove #c0c0c0; height: 150px; width: 300px; } #jsconfirmtitle { background-color: #B0B0B0; font-weight: bold; height: 20px; text-align: center; } #jsconfirmbuttons { height: 50px; text-align: center; } #jsconfirmbuttons input { background-color: #E9E9CF; color: #000000; font-weight: bold; width: 125px; height: 33px; padding-left: 20px; } #jsconfirmleft{ background-image: url(left.png); } #jsconfirmright{ background-image: url(right.png); } </style> |
1 2 3 4 5 6 7 8 9 10 11 | <p> JsConfirmStyled </p> <p> standard </p> </body> </html> |
您需要创建自己的警报框,如下所示:
1 2 3 4 5 6 7 8 9 10 | function jAlert(text, customokay){ document.getElementById('jAlert_content').innerHTML = text; document.getElementById('jAlert_ok').innerHTML = customokay; document.body.style.backgroundColor ="gray"; document.body.style.cursor="wait"; } jAlert("Stop! Stop!","Okay!"); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #jAlert_table, #jAlert_th, #jAlert_td{ border: 2px solid blue; background-color:lightblue; border-collapse: collapse; width=100px; } #jAlert_th, #jAlert_td{ padding:5px; padding-right:10px; padding-left:10px; } #jAlert{ /* Position fixed */ position:fixed; /* Center it! */ top: 50%; left: 50%; margin-top: -50px; margin-left: -100px; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | <p> TEXT </p> <table id="jAlert_table"> <tr id="jAlert_tr"> <td id="jAlert_td"> <p id="jAlert_content"> </p> </td> <td id="jAlert_td"> <button id='jAlert_ok' onclick="jAlertagree()"></button> </td> </tr> </table> <p> TEXT </p> <p> TEXT </p> <p> TEXT </p> <p> TEXT </p> <p> TEXT </p> <p> TEXT </p> <p> TEXT </p> <p> TEXT </p> <p> TEXT </p> <p> TEXT </p> <p> TEXT </p> <p> TEXT </p> function jAlertagree(){ var parent = document.getElementById('jAlRem'); var child = document.getElementById('jAlert'); parent.removeChild(child); document.body.style.backgroundColor="white"; document.body.style.cursor="default"; } |
js部分获取HTML中的元素以创建警报框,然后在用户单击"确定"后将其删除。
您可以使用
一种选择是使用altertify,这会显示一个漂亮的警告框。
只需从此处包括所需的库,并使用以下代码显示警报框。
1 2 3 4 5 6 7 | alertify.confirm("This is a confirm dialog.", function(){ alertify.success('Ok'); }, function(){ alertify.error('Cancel'); }); |
输出将如下所示。要查看实际效果,请看演示
我知道这是一篇较旧的文章,但今天上午我正在寻找类似的内容。
在查看了其他一些解决方案后,我觉得我的解决方案要简单得多。
一件事是,我在锚标记中使用了很棒的字体。
当用户单击事件时,我想在日历上显示事件。所以我像下面这样编码了一个单独的
1 2 3 4 | <i class="fa fa-times closeEvent" aria-hidden="true"><br /> Event: <span id="eventTitle" class="eventTitle"></span><br /> Start: <span id="startTime" class="startTime"></span><br /> End: <span id="endTime" class="endTime"></span><br /><br /> |
我发现在jquery中使用类名比较容易,因为我使用的是asp.net。
下面是我的全日历应用程序的jQuery。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | $(document).ready(function() { $('#calendar').fullCalendar({ googleCalendarApiKey: 'APIkey', header: { left: 'prev,next today', center: 'title', right: 'month,agendaWeek,agendaDay' }, events: { googleCalendarId: '@group.calendar.google.com' }, eventClick: function (calEvent, jsEvent, view) { var stime = calEvent.start.format('MM/DD/YYYY, h:mm a'); var etime = calEvent.end.format('MM/DD/YYYY, h:mm a'); var eTitle = calEvent.title; var xpos = jsEvent.pageX; var ypos = jsEvent.pageY; $(".eventTitle").html(eTitle); $(".startTime").html(stime); $(".endTime").html(etime); $(".eventContent").css('display', 'block'); $(".eventContent").css('left', '25%'); $(".eventContent").css('top', '30%'); return false; } }); $(".eventContent").click(function() { $(".eventContent").css('display', 'none'); }); }); |
您必须拥有自己的Google日历ID和api键。
我希望这在需要简单的弹出显示时有所帮助。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <head> <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> <script src="//code.jquery.com/jquery-1.10.2.js"> <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"> <script type="text/javascript"> $(function() { $("#dialog" ).dialog({ autoOpen: false, show: { effect:"blind", duration: 1000 }, hide: { effect:"explode", duration: 1000 } }); $("#opener" ).click(function() { $("#dialog" ).dialog("open" ); }); }); </head> <body> <p> This is an animated dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon. </p> <button id="opener">Open Dialog</button> </body> |
无法设置Alert()框的样式。您可以改用javascript模式覆盖。
我认为您无法更改浏览器默认警报框的样式。
您需要创建自己的库或使用简单且可自定义的库,例如xdialog。以下是自定义警报框的示例。可以在此处找到更多演示。
1 2 3 | function show_alert() { xdialog.alert("Hello! I am an alert box!"); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <head> <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/xxjapp/xdialog@3/xdialog.min.css"/> <script src="https://cdn.jsdelivr.net/gh/xxjapp/xdialog@3/xdialog.min.js"> <style> .xd-content .xd-body .xd-body-inner { max-height: unset; } .xd-content .xd-body p { color: #f0f; text-shadow: 0 0 5px rgba(0, 0, 0, 0.75); } .xd-content .xd-button.xd-ok { background: #734caf; } </style> </head> <body> <input type="button" onclick="show_alert()" value="Show alert box" /> </body> |