javascript改变css样式的方法汇总

上传人:bin****86 文档编号:59370510 上传时间:2018-11-06 格式:DOCX 页数:5 大小:17.80KB
返回 下载 相关 举报
javascript改变css样式的方法汇总_第1页
第1页 / 共5页
javascript改变css样式的方法汇总_第2页
第2页 / 共5页
javascript改变css样式的方法汇总_第3页
第3页 / 共5页
javascript改变css样式的方法汇总_第4页
第4页 / 共5页
javascript改变css样式的方法汇总_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《javascript改变css样式的方法汇总》由会员分享,可在线阅读,更多相关《javascript改变css样式的方法汇总(5页珍藏版)》请在金锄头文库上搜索。

1、我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解JavaScript改变CSS样式的方法汇总avaScript修改CSS有4种方法:1.修改节点style(内联样式);2.改变节点class或id;3.写入新的css;4.替换页面中的样式表。今天主要给大家介绍下前2种,因为后两种个人不是很推荐大家使用JavaScript允许你即时的改变CSS样式,这样就可以将用户的眼球吸引到你想他们关注的地方上,并且提供较好的交互体验给力 。JavaScript修改CSS有4种方法:修改节点style(内联样式);改变

2、节点class或id;写入新的css;替换页面中的样式表。个人不建议使用后两种方法,几乎所有的功能都可以通过前两种方式实现,并且代码更加清晰、易理解。后面还会说说如何获取元素的真实样式和一个表单中的注意事项。1、修改节点style(内联样式)这种方法权重是最高的,直接写在节点的style属性上,他会覆盖其他方法设置的样式。使用方法很简单:var element = document.getElementById(test);element.style.display = none /让元素隐藏但是要注意的是,有些CSS样式名称是由几个单词组成的例如font-size、background-im

3、age等,他们都是用破折号(-)连接起来的,然而JavaScript中破折号表示“减”,因此不能作为属性名称。我们需要使用“驼峰格式(camelCase)”来书写属性名,例如fontSize、backgroundImage。还要注意的是,很多style都是有单位的,不能只给一个数字。例如fontSize的单位有px、em、%(百分比)等。这种方法违背了表现和行为分离的原则,一般只适合定义元素经常变化的即时样式(与行为相关),例如一个可用于拖拽的div,随着拖拽,他的top、left属性是不断变换的,此时就不能用class或其他方式定义了,使用这种方式可以即时修改样式,并且覆盖掉其他方式的设置。

4、2、更改class、idid和class是设置样式的“钩子”,更改之后浏览器会自动更新元素的样式。更改id的方法和class的类似,但是个人并不建议这样使用,因为id是用于定位元素的,最好不要用它来定义元素的显示样式,并且id也常作为JavaScript的钩子,可能会引起不必要的错误。在JavaScript中,class是一个保留关键字,因此使用className作为访问元素class的属性,例如:.redColorcolor: red;.yellowBackbackground: yellow;element.className = redColor;/设置classelement.clas

5、sName += yellowBack;/增加class但比较郁闷的是,这个属性是一个包含元素所有class的字符串,所有class以空格分开,这样在删除class时就很不方便(增加就好说,之间做个字符串连接就可以了,不过记得前面要加个空格)。我之前在删除的时候用了正则表达式,根据class在字符串中的不同位置进行删除(头部、尾部、中间),不过后来想到了更好的办法,就是在className属性头尾都加上一个空格,那就全部变成中间的方法了,直接进行子串替换:/删除classfunction removeClass(element,classRomove)var classNames = +ele

6、ment.className+ ;classNames = classNames .replace( +classRomove+ , );/String.trim(classNames);element.className = classNames;一般的样式修改最好都用这种方法,定义好CSS的样式,JavaScript只是发出样式改变的指令,具体的样式定义还是交给CSS去做。后两种方法,既不优雅,也有一定兼容性问题,我就不介绍了3、获取真实样式首先要说清楚的是,通过element.style是不行的,他只能获取内联样式,样式表中的定义无法获取到。既然元素的样式可以定义在这么多种地方,那他的真

7、实样式到底是什么样子就不好说了,有什么办法能获取到元素在浏览器中显示的真实样式呢?其实微软和W3C都提供了相应的方法,我们只需要进行一下封装就可以用了:/获取元素样式function getRealStyle(element,styleName)var realStyle = null;if(element.currentStyle)realStyle = element.currentStylestyleName;/IEelse if(window.getComputedStyle)realStyle=window.getComputedStyle(element,null)styleNam

8、e;/W3Creturn realStyle;记得传入的styleName是用“驼峰格式”的4、表单的显示和隐藏(不要滥用CSS)我们经常会见到一些表单的选项是动态添加的,例如你某个表单中选择了婚姻状态是“已婚”,那么就会多一个输入框让你输入配偶的姓名。如果没有选择那当然就要把“配偶”的相关表单都隐藏了,但在这个时候不应当用CSS来解决,即不能用style.display=”none”来隐藏。因为无论你隐还是不隐藏它,输入框就在那里,不增不减 晕 直白点说,就是虽然隐藏了,但他还是存在与DOM中,如果此时用户提交表单,会把这个隐藏的输入框的内容一起提交,可能会出现些意想不到的错误正确的做法是将这段内容放入DOM超空间中,这样就不会有上面的问题了对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号