Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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
为什么可以';t我使用javascript将visibility属性更改为hidden_Javascript_Html - Fatal编程技术网

为什么可以';t我使用javascript将visibility属性更改为hidden

为什么可以';t我使用javascript将visibility属性更改为hidden,javascript,html,Javascript,Html,我使用的是javascript,因此当用户按下按钮时,通过更改div的可见性属性,div将出现/消失。当div被隐藏并且我希望它出现时,它会起作用。然而,当我再次按下按钮时,它并没有像应该的那样隐藏起来 document.getElementById(“SmileButton”).addEventListener(“单击”,getSmileys); 函数getSmileys(){ var button=document.getElementById(“SmileyDiv”).style.vis

我使用的是javascript,因此当用户按下按钮时,通过更改div的可见性属性,div将出现/消失。当div被隐藏并且我希望它出现时,它会起作用。然而,当我再次按下按钮时,它并没有像应该的那样隐藏起来

document.getElementById(“SmileButton”).addEventListener(“单击”,getSmileys);
函数getSmileys(){
var button=document.getElementById(“SmileyDiv”).style.visibility='visible';
//document.getElementById(“SmileyDiv”).style.visibility='visible';
如果(button.visibility==“隐藏”){
button.visibility='visible'
}否则{
button.visibility='hidden'
}
}
.enterPostBackground{
背景色:gainsboro;
宽度:400px;
高度:50px;
}
#斯迈利迪夫{
高度:80px;
宽度:160px;
背景颜色:灰色;
溢出:滚动;
可见性:隐藏;
}


😃
您正在检查按钮的可见性。您的按钮没有可见性属性。您应该检查按钮.样式.可见性。您还将分配两次单击侦听器,一次在JS中,另一次在HTML中。这将导致每次都会反转隐藏/显示过程


var-button=document.getElementById(“SmileyButton”);
按钮。addEventListener(“单击”,getSmileys);
函数getSmileys(){
var smileyDiv=document.getElementById(“smileyDiv”);
if(smileyDiv.style.visibility=='hidden'){
smileyDiv.style.visibility='visible'
}否则{
smileyDiv.style.visibility='hidden'
}
}
.enterPostBackground{
背景色:gainsboro;
宽度:400px;
高度:50px;
}
#斯迈利迪夫{
高度:80px;
宽度:160px;
背景颜色:灰色;
溢出:滚动;
}


😃
您正在检查按钮的可见性。您的按钮没有可见性属性。您应该检查按钮.样式.可见性。您还将分配两次单击侦听器,一次在JS中,另一次在HTML中。这将导致每次都会反转隐藏/显示过程


var-button=document.getElementById(“SmileyButton”);
按钮。addEventListener(“单击”,getSmileys);
函数getSmileys(){
var smileyDiv=document.getElementById(“smileyDiv”);
if(smileyDiv.style.visibility=='hidden'){
smileyDiv.style.visibility='visible'
}否则{
smileyDiv.style.visibility='hidden'
}
}
.enterPostBackground{
背景色:gainsboro;
宽度:400px;
高度:50px;
}
#斯迈利迪夫{
高度:80px;
宽度:160px;
背景颜色:灰色;
溢出:滚动;
}


😃
这可能会解决您的问题

我所做的改变

  • 我从按钮上删除了
    onclick
    。只要在JavaScript端注册了
    click
    事件,就不需要它
  • 我修复了您的HTML,因为您的标记不正确_(您忘了关闭
    标记,也忘了关闭第二个
    div
    标记
  • 我更改了脚本的逻辑,使其更具性能
  • 
    .enterPostBackground{
    背景色:gainsboro;
    宽度:400px;
    高度:50px;
    }
    #斯迈利迪夫{
    高度:80px;
    宽度:160px;
    背景颜色:灰色;
    溢出:滚动;
    可见性:隐藏;
    }
    

    😃 //这是因为它只运行一次,而且 //你的剧本更精彩。 var按钮=document.getElementById(“SmileyDiv”); document.getElementById(“SmileButton”).addEventListener(“单击”,getSmileys); //我在这里设置初始可见性状态 button.style.visibility='visible'; 函数getSmileys(){ //您忘了在按钮属性中添加“.style”。这是错误的 //为什么按钮不能正常工作。 如果(button.style.visibility===“隐藏”){ button.style.visibility='visible' }否则{ button.style.visibility='hidden' } }
    这可能会解决您的问题

    我所做的改变

  • 我从按钮中删除了
    onclick
    。只要在JavaScript端注册了
    click
    事件,就不需要它
  • 我修复了您的HTML,因为您的标记不正确。\uz(您忘了关闭
    标记,也忘了关闭第二个
    div
    标记
  • 我更改了脚本的逻辑,使其更具性能
  • 
    .enterPostBackground{
    背景色:gainsboro;
    宽度:400px;
    高度:50px;
    }
    #斯迈利迪夫{
    高度:80px;
    宽度:160px;
    背景颜色:灰色;
    溢出:滚动;
    可见性:隐藏;
    }
    

    😃 //这是因为它只运行一次,而且 //你的剧本更精彩。 var按钮=document.getElementById(“SmileyDiv”); document.getElementById(“SmileButton”).addEventListener(“单击”,getSmileys); //我在这里设置初始可见性状态 button.style.visibility='visible'; 函数getSmileys(){ //您忘了在按钮属性中添加“.style”。这是错误的 //为什么按钮不能正常工作。 如果(button.style.visibility===“隐藏”){ button.style.visibility='visible' }否则{ button.style.visibility='hidden' } }
    这里有几个问题

    • 您正在将
      document.getElementById(“SmileyDiv”).style.visibility='visible';
      的结果分配给
      按钮。分配的结果