尝试了多种不同的方式让它发挥作用。目的是有一个欢迎盒,如果用户之前已经看过它就不会出现。如果我的数据库中的“活动”字段显示1,则欢迎div不应显示。
document.onload = function() {
var active
var user = firebase.auth().currentUser;
var uid;
if (user != null) {
uid = user.uid;
}
firebase.database().ref("Users/" + uid + '/Active').on("value", function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var active = childSnapshot.val();
if (active = 1) {
document.getElementById("welcome").style.display = "none";
document.getElementById("box").style.display = "none";
document.getElementById("title").style.display = "none";
document.getElementById("text").style.display = "none";
}
});
});
};
提前感谢您提供任何帮助或建议。
答案 0 :(得分:0)
您需要读取对象的属性 - childSnapshot.val()。active。
恭敬地,你正在倒退。如果用户不在数据库中,则需要显示欢迎卡。如果用户在数据库中,他们可能已经与应用程序进行了交互并看到了欢迎卡。
欢迎卡应该由CSS display: none
隐藏,以便在页面加载时不会闪烁或显示。
在我看来,使用布尔值,原生true
或false
(注意单词周围没有引号)而不是1或0。在脚本顶部初始化var showWelcomeCard = false
。
确定您应该出示欢迎卡后,请出示;不是相反。
最后不要假设他们不想再看到欢迎/开始卡。为他们提供选择。一个复选框,上面写着“不再显示”。因此,请将属性从active
更改为showWelcomeCard
。