位置: 编程技术 - 正文

JS函数实现动态添加CSS样式表文件(js动态生成函数)

编辑:rootadmin
先给出函数。   有时我们需要在.js文件对文档动态引入一些CSS样式。对于一些短小的CSS代码来说,这好办,我们可以调用其style方法,如   如果再长一点也无所谓:   本人而言,我是喜欢后者。因为前者有严重的兼容问题。如float这个样式,在IE是styleFloat,在火狐等W3C标准游览器是cssFloat。而cssText则是通吃。   如果很长,我们可以动态导入一CSS文件。如   这个函数在IE中有点累赘。我向来是支持哪个游览器就用哪个游览器的原生函数,直接使用二进制代码效率最高。   createStyleSheet带的两个参数都是可选的。   但如果我们的样式是某个页面独有的,而且只有管理员才能使用到,而且那部分页面是动态生成的,我们需要一开始就引入它吗?需要特意弄个文件来装载它吗?最好的方法让这些样式与动态脚本捆绑在一起。我这个函数就为此而开发的。   坦白说,它最开始是为富文本编辑器而开发的。大家都知道,富文本输入框最流行的做法是把要输入的内容放到iframe中,这就涉及到两种document,一个主页面的document,另一个是iframe的document。iframe的document又涉及到兼容问题。我们可以: variframe=document.createElement('iframe');//生成用于编辑的richtexteditor variframeDocument=iframe.contentDocument||iframe.contentWindow.document; ……   嘛,扯远了。总而言之,函数最开始的判定就是为这两种document而准备。如果没有涉及到iframe,我们只传入一个参数就行了。最后一个参数永远是CSS字符串。   然后是动态生成styleSheet元素,把CSS字符串加入到此元素的问题。当然如果有现阶段的,当然就用现成的。DOM元素越多对游览器的负担就越大。我们想到document.styleSheets方法。它返回一个集合,包含style元素与link元素,还涉及一兼容问题,如:   上面用alert(document.styleSheets.length);测试一下,IE返回6,W3C游览器返回5。因此,否决了它。而且我们只用到style元素,不使用外联。第二部分的判定就针对head中的style元素而言,没有就创建一个。然后我们把CSS字符串加在第一个style元素就行了。   接着我们要加把保险锁,因为当media="print"时,只在页面打印时,定义的效果才有效。为了防止第一个style元素的media值不是screen,我们得改一改。   附上media的一些说明。   screen(缺省值),提交到计算机屏幕;   print,输出到打印机;   projection,提交到投影机;   aural,扬声器;   braille,提交到凸字触觉感知设备;   tty,电传打字机(使用固定的字体);   tv,电视机;   all,所有输出设备。   最后是如此添加的问题。分IE,火狐与其他游览器三种。判定游览器也用各自的私有属性或方法。如styleSheet是IE独用的,getBoxObjectFor是火狐独用的(当然你也可以使用(/firefox/.test(navigator.userAgent.toLowerCase())),通常DOM操作是最耗时的,能用私有就用私有!   使用方法。

推荐整理分享JS函数实现动态添加CSS样式表文件(js动态生成函数),希望有所帮助,仅作参考,欢迎阅读内容。

JS函数实现动态添加CSS样式表文件(js动态生成函数)

文章相关热门搜索词:js 动态函数,js 动态创建function,js函数动态参数,js函数实现动态变化,js 动态函数,js函数实现动态输入,js函数实现动态输入,js函数实现动态输入,内容如对您有帮助,希望把文章链接给更多的朋友!

Ext JS 4官方文档之三 -- 类体系概述与实践 ExtJS4从底层对类体系进行了重构,这是ExtJS历史上的第一次对类体系的巨大重构。新的架构几乎被应用到每一个ExtJS4的类中,所以希望您在开始编码前

js中escape对应的C#解码函数 UrlDecode js中escape对应的C#解码函数System.Web.HttpUtility.UrlDecode(s)//注意编码需要注意的几点:1、HttpUtility.UrlEncode,HttpUtility.UrlDecode是静态方法,而Server.UrlEncode,Serv

如何让页面在打开时自动刷新一次让图片全部显示 scriptfunctionwindow.onload(){if(location.href.indexOf('#reloaded')==-1){location.href=location.href+"#reloaded"location.reload()}}/scriptiframesrc="/"/iframe------------------------------------------

标签: js动态生成函数

本文链接地址:https://www.jiuchutong.com/biancheng/379192.html 转载请保留说明!

上一篇:js修改地址栏URL参数解决url参数问题(js修改地址栏参数但不让他跳转)

下一篇:Ext JS 4官方文档之三 -- 类体系概述与实践

  • 小规模销售收入免税会计分录
  • 补贴收入企业所得税
  • 利息费用和利息支出的区别计算公式
  • 代扣代缴完税凭证 要勾选吗
  • 外来建安企业的税收管理
  • 一揽子交易定义
  • 合同签订之后国家降税怎么办?
  • 注册公司认缴资本不缴可以吗
  • 购买旧资产如何入账
  • 公允价值变动损益借贷方向
  • 营改增之后账务怎么处理
  • 代扣代缴公积金有返还吗
  • 公司广告法违规交不起罚款怎么办
  • 工程安装公司暂估人工费如何做会计核算?
  • 产品置换广告费
  • 员工报销体检费,发票抬头开个人还是公司
  • 增值税专用发票验证真伪
  • 不得抵扣的进项税额怎么处理
  • 小规模纳税人税收政策2023
  • 银行结算卡年费多少
  • 其他业务收入怎么填纳税申报表
  • 买入返售金融资产什么意思
  • 印花税没有按时申报怎么办
  • 转让长期股权投资怎么算
  • 公司购进的商品自己用的,税金怎么走账
  • 卸载了驱动程序会怎么样
  • 通用pe工具箱安装教程
  • 应交税费的销项税额怎么算
  • php string
  • 装机电源怎么装
  • 固定资产如何做账务处理
  • 验签失败发票如何撤销
  • 特种商品劳务税
  • thinkphp技术
  • 旅行社小规模纳税人差额征税
  • node.js的安装和配置
  • 前端底层架构是什么意思
  • 固定资产折旧的计算方法
  • 医院会计医保怎么做账
  • 企业增值税的税收优惠有哪些
  • 金蝶财务软件系统要求
  • 内账增值税计入什么科目
  • 全年多少钱就得交税
  • 税务企业类型分为哪几种
  • 工地上购买的零食叫什么
  • 纳税人信息变更 需要变更什么
  • 进口海关是国内还是国外
  • 专职独立研发企业是指
  • 光伏发电计费问题
  • 个体户超额
  • 装修公司预收款要交增值税吗
  • 去年的车辆保险今年才开怎么做分录
  • 增资扩股对原股东的影响
  • 票据质押如何做账
  • 旅游发票可以报销入什么明细
  • 长期股权投资其他权益变动
  • 产品成本核算有哪些方法
  • 商业企业注销应检查哪方面的问题
  • xp电脑搜索文件为什么搜索不出来
  • win7电脑无法正常启动系统
  • linux怎么清除内存
  • win7怎么样激活
  • Linux VPN 出现 807 错误的解决办法
  • 黑客dos攻击是什么攻击
  • 批处理 全局变量
  • 未知类型的文件怎么打开
  • python自动化处理
  • shell脚本调用php方法
  • js编程中要使用到函数,分为哪几步?
  • 通过短信发送费用可能会收取运营商费用
  • unity性能和内存优化
  • 用shell脚本创建用户
  • python同一层次的语言必须对齐吗
  • javascript基本语句
  • python迭代类型
  • python怎么写字符串
  • 安卓快速开发平台
  • 江西省国家税务局李德平
  • 北京买车如何摇号
  • 深圳机打发票查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设