Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果第二条消息为黑色,我如何只发送一条消息;如果我同时填充了两个变量,如何发送两条消息?_Javascript_Html - Fatal编程技术网

Javascript 如果第二条消息为黑色,我如何只发送一条消息;如果我同时填充了两个变量,如何发送两条消息?

Javascript 如果第二条消息为黑色,我如何只发送一条消息;如果我同时填充了两个变量,如何发送两条消息?,javascript,html,Javascript,Html,我根据我在按钮中输入的消息在div中添加段落标记。其中一个按钮(HUNT)包含两条消息,而第二个按钮(SELL)仅包含一条消息。我遇到的问题是,无论第二条消息是否为空,我总是会显示一条“未定义”的消息 这是我的密码: 函数addLog(logBefore,logAfter){ VAR PAR=文档.CuraEngEnter(“p”); var node1=document.createTextNode(logBefore); var node2=document.createTextNode(

我根据我在按钮中输入的消息在div中添加段落标记。其中一个按钮(HUNT)包含两条消息,而第二个按钮(SELL)仅包含一条消息。我遇到的问题是,无论第二条消息是否为空,我总是会显示一条“未定义”的消息

这是我的密码:

函数addLog(logBefore,logAfter){
VAR PAR=文档.CuraEngEnter(“p”);
var node1=document.createTextNode(logBefore);
var node2=document.createTextNode(logBefore);
AppEngDeld(NoDE1);
var元素=document.getElementById(“日志”);
//这里还可以使用element.childNodes.length
常量计数=document.getElementById(“logs”).getElementsByTagName(“p”).length;
如果(计数>=8){
element.removeChild(element.childNodes[0]);
}
子元素(par);
如果(节点2!=''){
setTimeout(函数addLog(logBefore,logAfter){
VAR PAR=文档.CuraEngEnter(“p”);
var node2=document.createTextNode(logAfter);
AppEngDeld(NoDE2);
var元素=document.getElementById(“日志”);
//这里还可以使用element.childNodes.length
常量计数=document.getElementById(“logs”).getElementsByTagName(“p”).length;
如果(计数>=8){
element.removeChild(element.childNodes[0]);
}
子元素(par);
}, 1000);
};
};
var信用=0;
var-clickPower=1;
函数addCred(){
积分=积分+点击功率;
document.getElementById('credits').innerHTML=credits+“Skatts”;
};
#日志{
显示器:flex;
弯曲方向:柱反向;
}
#日志p{
边际上限:0px;
}

狩猎


我对您的代码和它的作用感到有点困惑,但我相信:

  • 您不需要像这样调用超时函数:

    setTimeout(function addLog(logBefore, logAfter) {
    
  • 为什么还要再次调用它
    addLog
    与父对象相同??您不需要在其中传递值,因为它是一个嵌套函数,可以使用父值
    logBefore
    logAfter
    ,所以只需执行以下操作:

    setTimeout(函数(){

现在,当您在超时内控制台日志值时,您将看到传递的值,并且将填充
nod2
函数addLog(logBefore,logAfter){
VAR PAR=文档.CuraEngEnter(“p”);
var node1=document.createTextNode(logBefore);
var node2=document.createTextNode(logBefore);
AppEngDeld(NoDE1);
var元素=document.getElementById(“日志”);
//这里还可以使用element.childNodes.length
常量计数=document.getElementById(“logs”).getElementsByTagName(“p”).length;
如果(计数>=8){
element.removeChild(element.childNodes[0]);
}
子元素(par);
如果(节点2!=''){
setTimeout(函数(){
console.log(logBefore)
console.log(logAfter)
VAR PAR=文档.CuraEngEnter(“p”);
var node2=document.createTextNode(logAfter);
AppEngDeld(NoDE2);
var元素=document.getElementById(“日志”);
//这里还可以使用element.childNodes.length
常量计数=document.getElementById(“logs”).getElementsByTagName(“p”).length;
如果(计数>=8){
element.removeChild(element.childNodes[0]);
}
子元素(par);
}, 1000);
};
};
var信用=0;
var-clickPower=1;
函数addCred(){
积分=积分+点击功率;
document.getElementById('credits').innerHTML=credits+“Skatts”;
};
#日志{
显示器:flex;
弯曲方向:柱反向;
}
#日志p{
边际上限:0px;
}

狩猎