js里的style取得是行间属性
window.onload=function(){
var Btn=document.getElementById('Btn');
var Divs=document.getElementById('kj');
Btn.onclick=function(){
if(Divs.style.display=='block'){
Divs.style['display']="none";
}else{
Divs.style.display="block";
}
}
}
在执行这段代码的时候会发现,当第一次点击按钮的时候,div依然是显示的状态,这段代码的功能是让div在显示与隐藏之间来回的切换,正常来讲第一次点击就应该让div隐藏起来,第二次点击再让div显示,可是实际当中确实第一次点击没效果,第二次点击的时候才会将div隐藏起来。原因就在于style是属于行间属性,也就是在html代码里div里没有写style,而是写在了css里,这就导致在判断的时候第一次判断不成立,因而进入else里将div设置了行间属性style,之后在进行判断的时候才将div隐藏起来。解决这个问题是利用变量来判断就可以。代码如下:
window.onload=function(){
var Btn=document.getElementById('Btn');
var Divs=document.getElementById('kj');
var on='block';
Btn.onclick=function(){
if(on=='block'){
Divs.style['display']="none";
on='none';
}else{
Divs.style.display="block";
on='block';
}
}
}

浙公网安备 33010602011771号