javascript - 使用 Javascript 在网页中吐司 - 未捕获的类型错误:无法在 showSnackbarMessage 处读取 null 的属性“classList”
问题描述
试图添加当我调用函数时会弹出的 toast 消息,但是,我收到以下错误:
未捕获的类型错误:无法在 showSnackbarMessage 读取属性“classList”的 null
当我在本地浏览器上运行它时,我在控制台上收到一个错误,即 classList 为空,但是,代码似乎在这里工作
function showSnackbarMessage(message, time) {
let snackbar_Div = document.getElementById('snackbar');
snackbar_Div.classList.add("show");
snackbar_Div.innerHTML = message;
time=time*1000;//time is in seconds
// After 2 seconds, remove the show class from DIV
setTimeout(function(){ snackbar_Div.classList.remove("show")}, time);
};
showSnackbarMessage('Welcome to the page', 2);
#snackbar {
visibility: hidden; /* Hidden by default. Visible on click */
min-width: 250px;
margin-left: -125px;
background-color: #333;
color: #fff;
text-align: center;
border-radius: 2px;
padding: 16px;
position: fixed;
z-index: 1;
left: 50%;
bottom: 30px;
}
#snackbar.show {
visibility: visible;
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
animation: fadein 0.5s, fadeout 0.5s 2.5s;
}
@-webkit-keyframes fadein {
from {bottom: 0; opacity: 0;}
to {bottom: 30px; opacity: 1;}
}
@keyframes fadein {
from {bottom: 0; opacity: 0;}
to {bottom: 30px; opacity: 1;}
}
@-webkit-keyframes fadeout {
from {bottom: 30px; opacity: 1;}
to {bottom: 0; opacity: 0;}
}
@keyframes fadeout {
from {bottom: 30px; opacity: 1;}
to {bottom: 0; opacity: 0;}
}
/*---------- End of snackbar ----------------*/
<div id="snackbar">Some text some message..</div>
解决方案
div 尚未加载到 DOM 上,并且在此之前调用了您的方法。classList 不为空,Javascript 只是无法找到该元素,因为它在 DOM 上不存在。
尝试调用 showSnackbarMessagewindow.onload
推荐阅读
- unity3d - Unity - 当播放移动被激活时我的相机移动
- excel - 基于具有条件格式的单元格公式的单元格着色器
- algorithm - 算法 - 花费最少的时间来产生最大量的 MB
- c++ - Qt HighDPI 缩放,但请不要在 QOpenGLWidget 中
- python - 'SyntaxError: multiple statements found while compiling a single statement' Python IDLE Shell 3.9.4 while importing random
- mysql - 如何在mysql表中找到没有用户?
- flutter - 如何使用 Flutter 的 bluetooth_thermal_printer 库将老挝语打印到热敏打印机
- c++ - 如何避免 protobuf 反射 SetString() 上的 std::string 复制?
- c# - 不断收到 System.Windows.Automation.ElementNotAvailableException
- python - 如何创建评分系统