Javascript:为什么我必须单击2次才能运行该功能?

时间:2019-03-03 16:15:02

标签: javascript

window.onload = function(){
   var about2 = document.getElementById("about");
   about2.addEventListener("click",about);

}

function about(){
var divabout = document.getElementById("aboutme");
 if(divabout.style.display == "none"){
    divabout.style.display = "flex";
    divabout.style.justifyContent ="center";
 }else{
    divabout.style.display ="none"; 
 }
}

请告诉我为什么我必须单击两次才能运行此功能以及如何修复pls的原因。非常感谢 。 我只是在CSS中为1 div标签设置display:none,我想更改显示属性。

1 个答案:

答案 0 :(得分:1)

因为默认情况下您没有为HTML设置任何dislplay属性。 这就是为什么在第一次单击javascript设置它需要的一切。然后从第二次点击开始工作。

这是您的代码,您没有在html中添加样式


    <div id="about">Hello</div>
    <div id="aboutme">About Me</div>


在这里,如果我修复/添加了这样的 style =“ display:flex; justify-content:center;” 在您关于我的情况下


    <div id="about">Hello</div>
    <div id="aboutme" style="display:flex;justify-content: center;">About Me</div>


现在您可以检查一下,只需要单击一下即可运行

arr = pd.read_csv('example.csv')
arr['Date'] = pd.to_datetime(arr['Date'])
arr.loc[5, 'Date'] += pd.to_timedelta(5 * 60 + 35, unit='m')

rmean = arr.dropna().rolling(
    window='4D',
    on='Date',
    min_periods=0
).mean().rename(columns={'Values': 'Rolling Mean'})


pd.merge(
    arr, rmean,
    on='Date'
)
window.onload = function() {
  var about2 = document.getElementById("about");
  about2.addEventListener("click", about);

}

function about() {
  var divabout = document.getElementById("aboutme");
  if (divabout.style.display == "none") {
    divabout.style.display = "flex";
    divabout.style.justifyContent = "center";

  } else {
    divabout.style.display = "none";

  }
}