原生js實現(xiàn)自定義消息提示框
更新時間:2023年04月24日 00:57:10 作者:weixin_44953227
這篇文章主要為大家詳細介紹了原生js實現(xiàn)自定義消息提示框,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了js實現(xiàn)自定義消息提示框的具體代碼,供大家參考,具體內(nèi)容如下
效果圖

上代碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
.popupStyle {
display: none;
width: 160px;
background-color: rgb(85, 85, 85);
color: #fff;
text-align: center;
border-radius: 6px;
padding: 8px 0;
position: fixed;
z-index: 1;
top: 2%;
left: 50%;
margin-left: -80px;
}
.popupStyle::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #555 transparent transparent transparent;
}
</style>
<body style="text-align:center">
<h2 style="margin-top: 100px;">彈窗</h2>
<div style="text-align: center;">
<a href="#" onclick="handleMsg(msg)">點我有彈窗!</a>
<a href="#" onclick="handleDomMsg(domMsg)">點我有彈窗!</a>
</div>
<span class="popupStyle" id="popupMsg">提示信息!</span>
<script>
const msg = "我是樣式彈窗";
const domMsg = "我是DOM彈窗";
// 樣式彈窗
function handleMsg(message) {
const popup = document.getElementById("popupMsg");
popup.innerHTML = message || "Hello, World";
popup.style.display="block";
setTimeout(() => {
popup.style.display="none"
}, 1000);
}
// DOM 彈窗
function handleDomMsg(message) {
const div = document.createElement("div");
document.body.appendChild(div);
div.innerHTML = message || "this is a Message";
div.className = "popupStyle";
div.style.display = "block";
setTimeout(() => {
div.remove();
}, 1000);
}
</script>
</body>
</html>再給大家提供一個類似的原生js實現(xiàn)的提示框
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.popupStyle{
width:260px;
height:80px;
background-color: rgb(85,85,85);
/* display:none; */
color:#fff;
text-align:center;
line-height:80px;
border-radius:20px;
padding:8px 0;
position:fixed;
z-index:1;
top:2%;
left:50%;
transform:translateX(-50%);
}
.popupStyle::after{
content:"after";
color:black;
position:absolute;
top:100%;
left:50%;
transform:translateX(-50%);
border-width:10px;
line-height:15px;
border-style:solid;
border-color:rgb(1, 0, 5) transparent transparent transparent;
}
</style>
</head>
<body style="text-align:center;">
<h2 style="margin-top:200px;">Pop Up</h2>
<div style="text-align:center;">
<a href="#" onclick="stylePopup(styleMsg)">stylePopup</a>
<a href="#" onclick="domPopup(domMsg)">domPopup</a>
</div>
<span class="popupStyle" id="popup">popupStyle</span>
<script>
console.log(getComputedStyle(popup).display)
const styleMsg='Popup of style'
const domMsg='Popup of dom'
function stylePopup(message){
const popup=document.getElementById('popup')
console.log(popup)
popup.innerHTML=message || 'default messsage'
popup.style.display='block'
setTimeout(()=>{
popup.style.display='none'
},1000)
}
function domPopup(message){
const span=document.createElement('span')
span.innerHTML=message || 'default'
span.className='popupStyle'
span.style.display='block'
document.body.appendChild(span)
setTimeout(()=>{
span.remove()
},1000)
}
</script>
</body>
</html>以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
JavaScript實現(xiàn)向setTimeout執(zhí)行代碼傳遞參數(shù)的方法
這篇文章主要介紹了JavaScript實現(xiàn)向setTimeout執(zhí)行代碼傳遞參數(shù)的方法,分析了向setTimeout傳遞參數(shù)的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04
Three.js+React實現(xiàn)3D開放世界小游戲
本文使用?Three.js?+?React?+?CANNON?技術棧,實現(xiàn)通過滑動屏幕控制模型在3D世界里運動的?Low?Poly?低多邊形風格小游戲,感興趣的可以了解一下2022-04-04
如何通過非數(shù)字與字符的方式實現(xiàn)PHP WebShell詳解
這篇文章主要給大家介紹了關于如何通過非數(shù)字與字符的方式實現(xiàn)PHP WebShell的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-07-07
JavaScript實現(xiàn)使用Canvas繪制圖形的基本教程
本篇文章主要介紹了JavaScript實現(xiàn)使用Canvas繪制圖形的基本教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2016-10-10
javascript實現(xiàn)數(shù)組內(nèi)值索引隨機化及創(chuàng)建隨機數(shù)組的方法
這篇文章主要介紹了javascript實現(xiàn)數(shù)組內(nèi)值索引隨機化及創(chuàng)建隨機數(shù)組的方法,涉及javascript數(shù)組索引及隨機數(shù)的相關實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08

