亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 5428 | 回復(fù): 2
打印 上一主題 下一主題

一個(gè)加載css文件的jquery插件 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-03-30 13:50 |只看該作者 |倒序?yàn)g覽
首發(fā)phpx了 為的是解決在ie下無法通過js實(shí)時(shí)加載css文件的問題
執(zhí)行速度不要有什么期待 畢竟是通過jquery的選擇器來執(zhí)行 大家看看有沒有bug 發(fā)現(xiàn)請(qǐng)跟帖告知下
  1. /**
  2. * 為當(dāng)前整篇文檔應(yīng)用CSS文件樣式
  3. *
  4. * @author  Sanders Yao
  5. * @example JQuery.getCSS('CSSFilePath');
  6. * @example JQuery.getCSS('CSSFilePath', function (css) {
  7. *              //do something after all style applied
  8. *          });
  9. * @example JQuery.getCSS('CSSFilePath', {
  10. *              beforeApp           : function (css) {
  11. *                  //do something before all style apply
  12. *              }
  13. *              beforeSelectorApp   : function (selector, cssObject) {
  14. *                  //do something before a style apply
  15. *              }
  16. *              afterSelectorApp    : function (selector, cssObject) {
  17. *                  //do something after a style applied
  18. *              }
  19. *              afterApp            : function (css) {
  20. *                  //do something after all style applied
  21. *              }
  22. *          });
  23. */
  24. $.extend({
  25.     getCSS  : function (url, option) {
  26.         $.get(url, function (css) {
  27.             var clip    = css.match(/[^{]+\{[^}]+?\}/g);

  28.             if ('object' == typeof option && 'function' == typeof option.beforeApp) {
  29.                 if (false === option.beforeApp(css)) {
  30.                     return  null;
  31.                 }
  32.             }
  33.             for(var i = 0;i < clip.length;i ++) {
  34.                 //刪除注釋
  35.                 var styleCode   = clip[i].replace(/\/\*(.|\s)*?\*\//g, '');
  36.                 //獲取選擇器
  37.                 var selector    = styleCode.replace(/^([^{]+)(.|\s)+$/g, "$1").replace(/(^[^;]*;\s*|^\s+|\s+$)/g, '');
  38.                 //獲取樣式定義
  39.                 var attrList    = styleCode.replace(/^[^{]+\{([^}]+)\}[^}]*$/g, "$1").split(';');
  40.                 var cssObject   = {};
  41.                 for (var j = 0;j < attrList.length;j ++) {
  42.                     var attr    = attrList[j].split(':');
  43.                     if (2 == attr.length) {
  44.                         var tmpVarName  = attr[0].replace(/(^\s+|\s+$)/g, '');
  45.                         var varName     = '';
  46.                         for (var k = 0;k < tmpVarName.length;k ++) {
  47.                             if ('-' == tmpVarName.charAt(k)) {
  48.                                 ++ k;
  49.                                 varName += tmpVarName.charAt(k).toUpperCase();
  50.                             } else {
  51.                                 varName += tmpVarName.charAt(k);
  52.                             }
  53.                         }
  54.                         cssObject[varName]  = attr[1].replace(/(^\s+|\s+$)/g, '');
  55.                     }
  56.                 }
  57.                 if ('object' == typeof option && 'function' == typeof option.beforeSelectorApp) {
  58.                     if (false === option.beforeSelectorApp(selector, cssObject)) {
  59.                         continue;
  60.                     }
  61.                 }
  62.                 $(selector).css(cssObject);
  63.                 if ('object' == typeof option && 'function' == typeof option.afterSelectorApp) {
  64.                     option.afterSelectorApp(selector, cssObject);
  65.                 }
  66.             }
  67.             if ('function' == typeof option) {
  68.                 option(css);
  69.             }
  70.             if ('object' == typeof option && 'function' == typeof option.afterApp) {
  71.                 option.afterApp(css);
  72.             }
  73.         });
  74.     }
  75. });
復(fù)制代碼

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2010-05-22 22:01 |只看該作者
  1. JQuery.getCSS('CSSFilePath', {

  2.               beforeApp           : function (css) {

  3.                   //do something before all style apply

  4.               }

  5.               beforeSelectorApp   : function (selector, cssObject) {

  6.                   //do something before a style apply

  7.               }

  8.               afterSelectorApp    : function (selector, cssObject) {

  9.                   //do something after a style applied

  10.               }

  11.               afterApp            : function (css) {

  12.                   //do something after all style applied

  13.               }

復(fù)制代碼

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2010-05-26 12:59 |只看該作者
幫頂...
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP