关于js控制display:none的问题我把一个div的display:none放在其外联样式表里,但是用js控制时,如果点击if(login.style.display=="none"){\x05\x05\x05login.style.display="block";\x05\x05}else{\x05\x05\x05login.style.display="none"

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 15:28:27
关于js控制display:none的问题我把一个div的display:none放在其外联样式表里,但是用js控制时,如果点击if(login.style.display==

关于js控制display:none的问题我把一个div的display:none放在其外联样式表里,但是用js控制时,如果点击if(login.style.display=="none"){\x05\x05\x05login.style.display="block";\x05\x05}else{\x05\x05\x05login.style.display="none"
关于js控制display:none的问题
我把一个div的display:none放在其外联样式表里,但是用js控制时,如果点击
if(login.style.display=="none"){
\x05\x05\x05login.style.display="block";
\x05\x05}else{
\x05\x05\x05login.style.display="none";
\x05\x05}
每一次点击不会把display变成block;而是再创建一次display:none;
但是当我把display:none直接放在div的属性里时(

),怎么就又可以用了
这是为什么啊,必须写在里面吗?不能写在外面?

关于js控制display:none的问题我把一个div的display:none放在其外联样式表里,但是用js控制时,如果点击if(login.style.display=="none"){\x05\x05\x05login.style.display="block";\x05\x05}else{\x05\x05\x05login.style.display="none"
因为你的if else依次执行了

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

方法1:
使用jquery的toggle切换函数
<div id='login'>login</div>

$("#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;
}