动态添加css
来源:互联网 发布:sql 查询表中重复记录 编辑:程序博客网 时间:2024/05/16 19:19
- 第一种添加方式:document.getElementById("elementId").style.background="#ff0000";
这种方式采用内联是插入css.优先级高。容易引起页面回流性能不好 也不能进行多个样式的添加
第二种方式:
document.getElementsByTagName("a")[0].style.cssText = "background:#ff0000;border:1px #dfdfdf solid;";- 第三种是:直接在style标签中写,这种方法要考虑不同浏览器的兼容性问题。(声明:下面代码引用”司徒正美“的一段代码)var addSheet = function () {
var doc, cssCode;
if (arguments.length == 1) {
doc = document;
cssCode = arguments[0]
} else if (arguments.length == 2) {
doc = arguments[0];
cssCode = arguments[1];
} else {
alert("addSheet函数最多接受两个参数!");
}
if (! +"\v1") {//增加自动转换透明度功能,用户只需输入W3C的透明样式,它会自动转换成IE的透明滤镜
var t = cssCode.match(/opacity:(\d?\.\d+);/);
if (t != null) {
cssCode = cssCode.replace(t[0], "filter:alpha(opacity=" + parseFloat(t[1]) * 100 + ")")
}
}
cssCode = cssCode + "\n"; //增加末尾的换行符,方便在firebug下的查看。
var headElement = doc.getElementsByTagName("head")[0];
var styleElements = headElement.getElementsByTagName("style");
if (styleElements.length == 0) {//如果不存在style元素则创建
if (doc.createStyleSheet) { //ie
doc.createStyleSheet();
} else {
var tempStyleElement = doc.createElement('style'); //w3c
tempStyleElement.setAttribute("type", "text/css");
headElement.appendChild(tempStyleElement);
}
}
var styleElement = styleElements[0];
var media = styleElement.getAttribute("media");
if (media != null && !/screen/.test(media.toLowerCase())) {
styleElement.setAttribute("media", "screen");
}
if (styleElement.styleSheet) { //ie
styleElement.styleSheet.cssText += cssCode;
} else if (doc.getBoxObjectFor) {
styleElement.innerHTML += cssCode; //火狐支持直接innerHTML添加样式表字串
} else {
styleElement.appendChild(doc.createTextNode(cssCode))
}
}
4.动态加载css文件,这个就简单了
function addStyle(stylePath) {
var container = document.getElementsByTagName("head")[0];
var addStyle = document.createElement("link");
addStyle.rel = "stylesheet";
addStyle.type = "text/css";
addStyle.media = "screen";
addStyle.href = stylePath;
container.appendChild(addStyle);
}
addStyle('css/add.css');
var container = document.getElementsByTagName("head")[0];
var addStyle = document.createElement("link");
addStyle.rel = "stylesheet";
addStyle.type = "text/css";
addStyle.media = "screen";
addStyle.href = stylePath;
container.appendChild(addStyle);
}
addStyle('css/add.css');
0 0
- js动态添加css
- 动态添加CSS、javascript
- 动态添加css
- javascript动态添加css
- LiteralControl 控件实现动态添加CSS
- JS包含js文件 动态添加css
- js为元素动态添加css代码
- 动态添加js、css、meta元素
- JS函数动态添加CSS样式表
- 使用JavaScript动态添加CSS样式规则
- 动态添加css样式至文件中
- 页面滚动时,动态添加css动画
- Html动态添加css js文件
- angualrjs动态添加类名 动态改变css
- php+javascript+css 实现动态添加数据行
- 在Css样式表中添加javascript,实现动态效果
- asp.net 在后台给页面动态添加Css样式
- JqueryMobile 动态添加元素css丢失的终极解决办法
- Google首席软件工程师Joshua Bloch谈如何设计一款优秀的API【转载】
- Linux下Weblogic集群配置初步 -----此文为转载过来的
- android资源网址大全
- memset函数使用详解
- SQLite数据库连接字串
- 动态添加css
- 锁存器和自旋锁(Latch&Spinlock)----Latch类型及模式
- android获得图的总结!!
- linux下如何用c语言调用shell命令
- 解决android大型项目的 Java heap space的问题
- 由硬盘故障引起的一系列血案
- strstr与strch区别
- 学习Javascript闭包(Closure)
- Cocos2d-x 屏幕适配新解