JavaScript插入动态样式实现代码_javascript技巧
程序员文章站
2023-12-23 08:44:22
...
与动态脚本类似,所谓动态样式是指在页面刚加载时不存在的样式;动态样式是在页面加载完成后动态添加到页面中。
我们以下面这个典型的元素为例:
使用DOM代码可以很容易的动态创建出这个元素:
var link = document.createElement("link");
link.rel = "stylesheet";
link.type = "text/css";
link.href = "style.css";
var head = document.getElementsByTagName("head")[0];
head.appendChild(link);
以上代码在所有主流浏览器中都可以正常运行。需要注意的是,必须将元素添加到而不是元素,才能保证在所有浏览器中的行为一致。整个过程可以用一下函数来表示:
function loadStyles(url) {
var link = document.createElement("link");
link.rel = "stylesheet";
link.type = "text/css";
link.href = url;
var head = document.getElementsByTagName("head")[0];
head.appendChild(link);
}
loadStyles("style.css")
加载外部样式文件的过程是异步的,也就是加载样式与执行JavaScript代码的过程没有固定的次序。
另一种定义样式的方式是使用
按照相同的逻辑,下列DOM代码应该是有效的:
var style = document.createElement("style");
style.type = "text/css";
style.appendChild(document.createTextNode("body{background-color:red;}"));
var head = document.getElementsByTagName("head")[0];
head.appendChild(style);
以上代码可以在Firefox、Safrai、Chrome和Opera中运行,在IE中则会报错。IE将
我们以下面这个典型的元素为例:
使用DOM代码可以很容易的动态创建出这个元素:
复制代码 代码如下:
var link = document.createElement("link");
link.rel = "stylesheet";
link.type = "text/css";
link.href = "style.css";
var head = document.getElementsByTagName("head")[0];
head.appendChild(link);
以上代码在所有主流浏览器中都可以正常运行。需要注意的是,必须将元素添加到而不是元素,才能保证在所有浏览器中的行为一致。整个过程可以用一下函数来表示:
复制代码 代码如下:
function loadStyles(url) {
var link = document.createElement("link");
link.rel = "stylesheet";
link.type = "text/css";
link.href = url;
var head = document.getElementsByTagName("head")[0];
head.appendChild(link);
}
loadStyles("style.css")
加载外部样式文件的过程是异步的,也就是加载样式与执行JavaScript代码的过程没有固定的次序。
另一种定义样式的方式是使用
按照相同的逻辑,下列DOM代码应该是有效的:
复制代码 代码如下:
var style = document.createElement("style");
style.type = "text/css";
style.appendChild(document.createTextNode("body{background-color:red;}"));
var head = document.getElementsByTagName("head")[0];
head.appendChild(style);
以上代码可以在Firefox、Safrai、Chrome和Opera中运行,在IE中则会报错。IE将
推荐阅读
-
JavaScript插入动态样式实现代码_javascript技巧
-
js下通过prototype扩展实现indexOf的代码_javascript技巧
-
JavaScript实现防止网页被嵌入Frame框架的代码分享_javascript技巧
-
javascript简单拖拽实现代码(鼠标事件 mousedown mousemove mouseup)_javascript技巧
-
js实现点小图看大图效果的思路及示例代码_javascript技巧
-
asp 的 分词实现代码_javascript技巧
-
javascript对talbe进行动态添加、删除、验证实现代码_javascript技巧
-
javascript实现的动态文字变换_javascript技巧
-
学习drag and drop js实现代码经典之作_javascript技巧
-
javascript下搜索子字符串的的实现代码(脚本之家修正版)_javascript技巧