亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JS控制嵌入式CSS時添加了if條件無法運行的問題

JS控制嵌入式CSS時添加了if條件無法運行的問題

MR158 2016-01-31 16:50:14
<!DOCTYPE?html> <html> <head> ??<title></title> ??<script?type="text/javascript"> ??window.onload=function(){ ????var?btn=document.getElementById("btn"); ????var?div=document.getElementById("div"); ????var?btn2=document.getElementById("btn2"); ?????function?addEvent(ele,type,hander){ ????????if?(ele.addEventListener)?{ ??????????ele.addEventListener(type,hander,false); ????????}else?if(ele.attachEvent){ ??????????ele.attachEvent(type,hander); ????????}else{ ??????????ele['on'+type]=hander; ????????}; ??????} ???? ????addEvent(btn,'click',showMsg) ????addEvent(btn2,'click',hideMsg) ????function?showMsg(){ ????????if(div.style.display=="none"){ ??????????div.style.display="block"; ??????????} ????} ????function?hideMsg(){ ????????if(div.style.display=="block"){ ??????????div.style.display="none"; ??????????} ????} ?} ???? ??</script> ??<style?type="text/css"> ????#div{ ??????width:300px; ??????height:300px; ??????background-color:skyblue; ??????display:?none; ????} ??</style> </head> <body> ????<button?id="btn">click</button> ???? ????<div?id="div"><button?id="btn2">hide</button></div> ???? </body> </html>雖然這個if判斷語句很多余吧,但突然發現了個問題1.把display屬性用內聯樣式直接放到div里的話,效果可以運行。2.將hideMsg效果合并到showMsg里用else的話也可以運行。但用嵌入式CSS的時候,1的情況無法運行,2的情況在瀏覽器顯示則是點擊一下變成內聯,再點擊一下才有效果。為什么?
查看完整描述

2 回答

?
夫唯不爭

TA貢獻3條經驗 獲得超1個贊

window.onload=function(){
????var?btn=document.getElementById("btn");
????var?div=document.getElementById("div");
????var?btn2=document.getElementById("btn2");
????var?divStyle?=?div.currentStyle???div.currentStyle?:?getComputedStyle(div,null);?//獲取元素當前的屬性
????function?addEvent(ele,type,hander){
????????if?(ele.addEventListener)?{
????????????ele.addEventListener(type,hander,false);
????????}else?if(ele.attachEvent){
????????????ele.attachEvent(type,hander);
????????}else{
????????????ele['on'+type]=hander;
????????};
????}
????addEvent(btn,'click',showMsg);
????addEvent(btn2,'click',hideMsg);
????function?showMsg(){
????????if(divStyle.display=="none"){
????????????div.style.display="block";
????????}
????}
????function?hideMsg(){
????????if(divStyle.display=="block"){
????????????div.style.display="none";
????????}
????}
}


查看完整回答
1 反對 回復 2016-02-01
  • 2 回答
  • 0 關注
  • 2276 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號