//如果没有包含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;
}
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 加随机数引入脚本不让浏览器读取缓存
- js不能获取隐藏的div的宽度只能先显示后获取
- 点击A元素触发B元素的事件在IE8下会识别成A元素
- Flexigrid在IE下不显示数据的有效处理方法
- js自动生成的元素与页面原有元素发生堆叠的解决方法
- 告诉你什么是javascript的回调函数
- jquery学习总结(超级详细)
- JavaScript实现按Ctrl键打开新页面
- js实现图片在未加载完成前显示加载中字样
- jquery.idTabs 选项卡使用示例代码
- jQuery 1.9移除了$.browser可以使用$.support来替代
- JavaScript用JQuery呼叫Server端方法示例代码
- 禁止iframe页面的所有js脚本如alert及弹出窗口等
- 禁用页面部分JavaScript不是全部而是部分
- 让JavaScript的Alert弹出框失效的方法禁止弹出警告框
- JavaScript使用focus()设置焦点失败的解决方法
- javascript实现浏览器窗口传递参数的方法
- javascript模拟post提交隐藏地址栏的参数
- javascript刷新父页面的各种方法汇总