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';
				}
			}			
			
		}

  

posted @ 2016-11-28 14:32  alberts24  阅读(882)  评论(1)    收藏  举报