关于js控制display:none的问题

2024-11-21 17:49:53
推荐回答(3个)
回答(1):

因为你的if else依次执行了

当你if条件ok的时候 login的style设置为block,此时,else条件又成立,所以依次执行,回到原点。

方法1:
使用jquery的toggle切换函数
login


$("#login").toggle( 
  function () {
    $(this).show();
  },
  function () {
    $(this).hide();
  }
);

方法2:原始方法
设置全局标记位
var flag = false;

if(flag){
 login.style.display="block";
 flag=false;
}
else{
 login.style.display="none";
 flag=true;
}

回答(2):

如果没有把你的 js 写在 window.onload = function() { // your js }; 内,你就要注意css和js的先后顺序了,如果css靠后,js就会新建这个样式属性

还有一种方式是把