在css加载完毕后自动判断页面是否加入css或js文件

 更新时间:2014年09月10日 17:17:55   投稿:whsnow  
使用jquery ui中的dialog()来显示消息框,为了使方法方便调用,便加入了自动判断页面是否加入了ui.js和ui.css,具体实现代码如下

最近在写项目的framework,写个JQueryMessageBox的类,以使用jquery ui中的dialog()来显示消息框,为了使方法方便调用,便加入了自动判断页面是否加入了ui.js和ui.css,代码如下:

//如果没有包含ui.js,则引用 
if ($('script[src$=""jquery-ui-1.8.11.custom.min.js""]').length == 0) {{ 
$(""<script src='/js/jquery-ui-1.8.11.custom.min.js' type='text/javascript' />"").appendTo('head'); 
}} 
//如果没有加载css,则加载 
if ($('link[ref$=""jquery-ui-1.8.14.custom.css""]').length == 0) {{ 
$('<link href=""/css/jquery-ui-1.8.14.custom.css"" rel=""stylesheet"" type=""text/css"" />').appendTo('head'); 

//dialog() script 
}}

但CSS代码不会立即加载下来,于是在显示dialog的时候则不会有样式(在IE9下可以,因为在IE9下CSS即使后下载下来,也会重新绘制页面元素,而IE8则不会).解决此问题的方法,可以使用ajax,当css加载完毕后,再显示dialog,这样就可以带着样式显示出来了,代码如下:

if ($('link[ref$=""jquery-ui-1.8.14.custom.css""]').length == 0) { 
$.ajax({ 
url: '/css/jquery-ui-1.8.14.custom.css', 
success: function(data) { 
//创建一个style元素,并追加到head中 
//替换其中images的路径 
$('<style type="text/css">' + data.replace(/url\(images/g, 'url(/css/images') + '</style>').appendTo('head'); 
//dialog() script; 
} 
}); 
} 
else { 
//dialog() script; 
}

相关文章

  • EasyUI Datebox 日期验证之开始日期小于结束时间

    EasyUI Datebox 日期验证之开始日期小于结束时间

    这篇文章主要介绍了EasyUI Datebox 日期验证之开始日期小于结束时间,需要的朋友可以参考下
    2017-05-05
  • Jquery $.map使用方法实例详解

    Jquery $.map使用方法实例详解

    这篇文章主要介绍了jJquery $.map使用方法实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • jQuery实现穿梭框效果

    jQuery实现穿梭框效果

    这篇文章主要为大家详细介绍了jQuery实现穿梭框效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法

    jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法

    我们都知道在AjaxPro的方法AjaxPro.Utility.RegisterTypeForAjax(typeof(所在类的类名));会将标记有[Ajax.AjaxMethod]方法注册在客户端。
    2011-09-09
  • jQuery实现动态粒子效果

    jQuery实现动态粒子效果

    这篇文章主要为大家详细介绍了jQuery实现动态粒子效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • 使用jQuery实现返回顶部

    使用jQuery实现返回顶部

    博客园是程序员们比较喜欢的聚集地,很多人喜欢发发心得,一直都觉着挺好的,但最不满意他的一点是,没有返回到顶部的功能,好吧,我们自己来添。
    2015-01-01
  • jQuery实现无限往下滚动效果代码

    jQuery实现无限往下滚动效果代码

    这篇文章主要介绍了jQuery实现无限往下滚动效果代码,涉及jQuery基于ajax交互操作数据库数据及页面元素动态变换的相关技巧,需要的朋友可以参考下
    2016-04-04
  • jquery实现下拉框左右选择功能

    jquery实现下拉框左右选择功能

    本文主要介绍了jquery实现下拉框左右选择功能的方法,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • JQUERY dialog的用法详细解析

    JQUERY dialog的用法详细解析

    本篇文章主要是对JQUERY中dialog的用法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • jQuery 源码分析笔记(3) Deferred机制

    jQuery 源码分析笔记(3) Deferred机制

    从1.5版本开始,jQuery加入了Deferred功能,让事件处理队列更加的完善。并用这个机制重写了Ajax模块。虽然还没轮到Ajax,但是接下来的事件处理函数中牵扯到了这个机制,所以提前看这段代码。
    2011-06-06

最新评论