我现在正在进行PHP聊天。 当用户登录时,他会自动发送消息"登录"这是向所有人展示的,当他退出时,他会自动发送"退出"这显示给每个人(当然除了他)。 当所有用户注销后,所有邮件都会自动删除。
我现在正致力于一个功能,告诉你,你是否独自一人在聊天室。 我想用JavaScript解决这个问题。我现在使用的脚本计算术语"登录的频率"和术语"退出"出现在聊天记录中(是的,不是最终解决方案,但绝对足以供我使用)
以下是代码:
.container {
display: flex;
}
.left {
background: green;
width:300px;
}
.right {
background: red;
width:300px;
}
班级" alleine"只包含文字"你现在独自在这里"。 当另一个用户登录时,应该隐藏这个,当除了你注销之外的所有其他用户都应该再次显示。 隐藏课程工作正常,但当其他人退出时,它只是再次获得收获。
您可以在此处看到它:http://team3.digital-cultures.net/index.php# 只需从下拉列表中选择一个名称并选择一个开始/目的地。
我做错了什么? 谢谢!
编辑:出于测试目的,您只需输入" betreten" ("登录"德语)和" verlassen" ("在德语中注销")在聊天中,无需使用多个帐户登录:)
答案 0 :(得分:1)
您需要使用return
来获取值。使用函数名称只是创建一个新的局部变量。我已经重命名了var以使其更清晰。
function countverlassen(){
var temp = document.body.innerText;
// the g in the regular expression says to search the whole string
// rather than just find the first occurrence
var verlassenCount = (temp.match(/verlassen/g) || []).length +1;
console.log(verlassenCount);
return verlassenCount;
}
使用countverlassen()
调用该函数并获取值。存储值而不是每次调用函数。
function countbetreten() {
var temp = document.body.innerText;
// the g in the regular expression says to search the whole string
// rather than just find the first occurrence
var betretenCounter = (temp.match(/betreten/g) || []).length;
var verlassenCounter = countverlassen();
console.log(betretenCounter);
if (betretenCounter >= 2 && betretenCounter != verlassenCounter) {
$('.alleine').hide();
} else if (verlassenCounter >= 2 && betretenCounter == verlassenCounter) {
$('.alleine').show();
}
}