`

js 操作 css

阅读更多

Javascript 操作 Style 与CSS语法 不同点。

JavaScript 直接对 style 属性进行修改,来达到动态改变元素风格的目的。
假定元素(id1)的风格表单声明 :
style="font-family:Arial;font-size:12px;"
则您就可以在 JavaScript 中读取和修改风格属性
document.getElementById("id1").style.fontFamily = "Geneva";
document.getElementById("id1").style.fontSize = "14px";
注意:CSS 属性自身是 camelCased 的大小写是驼峰式的,即第一个词的首字小写,随后的每个词首字大写,而不是用连字符“-”进行连接的;如 document.getElementById("id1").style.font-family = "Geneva";这样写是错误的。

 

利用JavaScript可以在在几个层面上操作CSS
1.inlineStyle[element的style属性]
      无论是在ie还是ff中,element都有一个类型为Css2Properties的style属性,其属性对应着html中的style属性.这些值可以查询也可以被修改.注意通过的style查询得到的值都是以字符串的形式返回,在设置也只能设置为字符串,对于数值还必须带上相应的单位.
e.style.left = "300px";
var totalMarginWidth = parseInt(e.style.marginLeft) +parseInt(e.style.marginRight);

2.computeStyle[完整的css属性列表]
ff中通过windoiw对象的getComputedaStyle(),方法得到的是一个只读的Css2Properties,它完整的反映了待查询元素的属性.该方法有两个参数,第一个是待查询element的引用,第二个是伪类如:after等,ff中要求提供两个参数,一般吧第二个设为null;
在ie中每个元素都有一个currentStyle属性来对应ff中的getComputedStyle()指向该element的完整属性列表.
3.操作element的class属性
对于element的css属性class在JavaScript中对应的是className,值得注意的是一个元素可以有多个class,在查询和更改时都要注意进行判断.
//CSSClass.js:一个用来操作class的实用类

var CSSClass = {}; //创建命名空间 http://www.ukseo.cn
CSSClass.has = function(e, c) //判断给定的元素是否含有该类,有返回true
{
    if (typeof e == "string") e = document.getElementById(e); // 如果传入的的是字符串则则把它当作元素id
    var classes = e.className;
    if (!classes) return false;
    if (classes == c) return true; // 只有一个class
    return e.className.search("\\b" + c + "\\b") != -1;
};
CSSClass.add = function(e, c)
{
    if (typeof e == "string") e = document.getElementById(e);
    if (CSSClass.is(e, c)) return; // 如果已经存在该类直接返回
    if (e.className) c = " " + c;
    e.className += c;            
};
CSSClass.remove = function(e, c)
{
    if (typeof e == "string") e = document.getElementById(e); // element id
    // Search the className for all occurrences of c and replace with "".
    // \s* matches any number of whitespace characters.
    // "g" makes the regular expression match any number of occurrences
    e.className = e.className.replace(new RegExp("\\b"+ c+"\\b\\s*", "g"), "");
};
4.直接操作外部的式样文件
有两种方法可以直接操作外部式样表.(1)在html中的link和script在javaScript中有一个disabled属性[html中没有对应的属性],可以设置它为true或false来启用或停用对应的式样表文件.(2)方法可以直接操作式样表,但是较为复杂和不常用,详细信息参看 JavaScript: The Definitive Guide, 5th Edition 16.6.2节
分享到:
评论

相关推荐

    “JavaScript操作CSS”课堂教学设计.pdf

    "JavaScript操作CSS"课堂教学设计 本文主要讲述了如何在教学中Effective JavaScript操作CSS的方法。文章从HTML、CSS和JavaScript的基本概念出发,引入了JavaScript的基本概念和特点,并分析了JavaScript在Web前端...

    JS.css代码及教程

    本文将深入探讨这两者之间的交互,并提供一些关于如何在JS中操作CSS的教程要点。 **一、JavaScript简介** JavaScript是一种轻量级的解释型编程语言,主要应用于客户端的网页开发。它使得网页具有动态性和交互性,如...

    jsstyle:使用 JavaScript 操作 CSS

    综上所述,jsstyle 提出了一种通过JavaScript操作CSS的思路,尽管它可能不适用于复杂的媒体查询场景,但对于初学者或简单的项目来说,它提供了一种直观的样式管理方式。了解和掌握上述JavaScript操作CSS的知识点,...

    web实例参考学习(javascript和css)

    或者通过JavaScript操作CSS3动画,实现复杂的过渡和变换效果。 4. **DOM操作**:JavaScript可以通过DOM API来读取、修改和添加HTML元素。实例可能包括查找元素、遍历元素树、添加和删除元素、以及改变元素的属性和...

    js操作css属性实现div层展开关闭效果的方法

    JavaScript操作CSS属性实现Div层展开关闭效果的知识点如下: 1. CSS基本知识:在实现Div层展开关闭效果之前,我们首先需要了解基本的CSS布局和显示属性。在本示例中,被展开关闭的Div使用了`display:none;`属性,...

    Printer_js_css 纯js实现web打印服务,完全兼容

    "Printer_js_css" 是一个纯JavaScript实现的Web打印服务,它的核心特点在于它能够实现跨浏览器的兼容性,这意味着无论用户使用何种浏览器,都能顺利地进行打印操作。这个工具的出现,为开发者提供了极大的便利,避免...

    js 操作css实现代码

    JavaScript操作CSS主要是通过操作DOM(文档对象模型)中的元素的style属性来实现的,这种方法虽然灵活,但其缺点是需要直接对每一个DOM元素进行操作,当涉及到多个元素或者频繁的样式变化时,性能会受到较大影响。...

    JS和CSS和C++互相调用

    1. **JS与CSS交互**:JavaScript可以直接操作DOM(文档对象模型),改变元素的样式属性,从而实现动态CSS。例如,通过`document.getElementById('elementId').style.property = 'value'`可以修改元素的CSS属性。此外...

    html+javascript+css(8本chm)

    此外,JavaScript还有许多库和框架,如jQuery简化DOM操作,React用于构建用户界面,Vue.js提供组件化开发。 4. **ASP (Active Server Pages)**:ASP是微软的一种服务器端脚本环境,用于创建动态交互式网页。在ASP中...

    js+css3倒计时动画特效

    【标题】"js+css3倒计时动画特效"是一个结合了JavaScript和CSS3技术的网页倒计时组件,它为传统的倒计时功能增添了视觉吸引力。这种特效常见于活动预热、产品上线预告等场景,能吸引用户注意力并营造紧张期待的氛围...

    JS.CSS代码集合

    JavaScript(JS)和CSS是构建现代网页不可或缺的两种技术。JavaScript是一种动态编程语言,负责网页的交互性,而CSS(层叠样式表)则用于控制网页的布局和样式。这个"JS.CSS代码集合"可能包含了一系列实用的JS和CSS...

    学生信息管理系统(html + js + css)

    总结来说,"学生信息管理系统(html + js + css)"是一个集成了HTML结构、CSS样式和JavaScript交互的实例,它充分展示了前端技术在实际项目中的应用,是学习和提升Web开发技能的理想平台。通过这样的项目实践,开发者...

    javascript Css 样式

    02 可能进一步讲解如何用JavaScript操作CSS,如动态添加CSS样式、读取和修改元素样式,以及使用CSS3的新特性。 03 可能涉及更高级的主题,如JavaScript与CSS动画的结合,事件监听和处理,以及如何实现更复杂的效果,...

    js改变css样式

    JavaScript(简称JS)和CSS是Web开发中的两个关键技术,它们分别负责网页的交互逻辑与样式设计。在本文中,我们将深入探讨如何使用JavaScript来动态地改变CSS样式,以实现如标题所示的效果——通过页面JS事件改变...

    java开发中压缩js,css文件

    在Java开发中,压缩JavaScript(js)和CSS(样式表)文件是一项常见的优化技术,用于减少网页加载时间和提高用户体验。这种技术通常被称为“文件合并与压缩”,它将多个js和css文件合并为一个文件,并去除其中不必要...

    html5+javascript+css商城(模拟联想)购物系统

    《HTML5+JavaScript+CSS 商城(模拟联想)购物系统详解》 HTML5、JavaScript 和 CSS 是构建现代网页和应用程序的三大核心技术。本项目“HTML5+JavaScript+CSS 商城(模拟联想)购物系统”充分利用这三种技术,打造...

    精品 js+css布局

    "精品 js+css布局" 提供了一种利用JavaScript和CSS实现自动化布局的方法,这在现代网页开发中是一个非常实用的技术。下面我们将深入探讨这个主题。 首先,CSS(层叠样式表)是网页设计中的样式语言,负责定义元素的...

    webview 加载js ,css

    同时,避免在主线程中执行耗时的JavaScript操作,可以使用`evaluateJavascript()`异步执行JavaScript并获取结果。 总结,Android的WebView结合JavaScript和CSS,可以实现丰富的交互式和动态的网页内容展示。通过...

    纯js+css写的柱状图

    总之,"纯js+css写的柱状图"是一个很好的实践项目,它展示了前端开发中的基本技能,包括数据处理、DOM操作和样式设计。通过深入研究和改进这个组件,开发者可以提升自己的技术能力,并且能够灵活地应用于各种网页...

Global site tag (gtag.js) - Google Analytics