javascript动态设置样式style实例分析
本文实例讲述了javascript动态设置样式style的方法。分享给大家供大家参考。具体分析如下:
动态修改style
1.易错:修改元素的样式不是设置class属性,而是className属性.
2.易错:单独修改样式的属性使用"style.属性名".注意在css中属性名在javascript中
操作的时候属性名可能不一样,主要集中在那些属性名中含有-的属性,因为
javascript中-是不能做属性,类名的。所以在CSS中背景色是background-clolor,而javascript中则是style.background;元素样式名是class,在javascript中是className属性;font-size->style.fontSize;margin-top->style.marginTop
3.单独修改控件的样式<inputtype="button"value="AAA"onclick="this.style.color='red'"/>
1.举例1
<htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <title>动态修改style</title> <styletype="text/css"> .day { background-color:Green; } .night { background-color:Black; } </style> <scripttype="text/javascript"> functiondayclick(){ vardivMain=document.getElementById("divMain"); //注意这里使用的是className而不是class divMain.className="day"; } functionnightclick(){ vardivMain=document.getElementById("divMain"); divMain.className="night"; } </script> </head> <body> <divid="divMain"class="day"> <fontcolor="red">中华人名共和国</font> </div> <inputtype="button"value="白天"onclick="dayclick()"/> <inputtype="button"value="黑夜"onclick="nightclick()"/> </body> </html>
2.示例:动态修改style(模拟开灯,关灯)
<htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <styletype="text/css"> .day { background-color:White; } .night { background-color:Black; } </style> <scripttype="text/javascript"> functionswitchLight(){ varbtnSwitch=document.getElementById("btnSwitch"); if(document.body.className=="day"){ document.body.className="night"; btnSwitch.value="开灯"; } else{ document.body.className="day"; btnSwitch.value="关灯"; } } </script> </head> <bodyclass="night"> <inputtype="button"value="开灯"id="btnSwitch"onclick="switchLight()"/> </body> </html>
3.示例:
<htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <title>动态设置style练习(修改文本框背景色)</title> <scripttype="text/javascript"> functionIniEvents(){ varinputs=document.getElementsByTagName("input"); for(vari=0;i<inputs.length;i++){ if(inputs[i].type=="text"){ //设置txtOnBlur函数为input元素的onblur事件的响应函数 inputs[i].onblur=txtOnBlur; } } } functiontxtOnBlur(){ /* txtOnBlur是onblur的响应函数,而不是被响应函数调用 的函数,所有可以用this来取的发生事件控件的对象 */ if(this.value.length<=0){ this.style.background="red"; } else{ this.style.background="white"; } } </script> </head> <bodyonload="IniEvents()"> <inputtype="text"/><br/> <inputtype="text"/><br/> <inputtype="text"/><br/> <inputtype="text"/><br/> <inputtype="text"/><br/> <inputtype="text"/><br/> </body> </html>
希望本文所述对大家的javascript程序设计有所帮助。