码迷,mamicode.com
首页 > Web开发 > 详细

JQuery 加载 CSS、JS 文件的方法有哪些?

时间:2016-03-24 22:01:00      阅读:494      评论:0      收藏:0      [点我收藏+]

标签:

在进行web前端开发(http://www.maiziedu.com/course/web-px/时,我们可能会需要使用JQuery加载一个外部的css文件或者js文件,加载外部文件的方法有多种,下面具体看看各种加载方法

JS 方式加载 CSS、JS 文件:

//加载 css 文件function includeCss(filename) {

    var head = document.getElementsByTagName(’head’)[0];

    var link = document.createElement(’link’);

    link.href = filename;

    link.rel = ’stylesheet’;

    link.type = ’text/css’;

    head.appendChild(link)}

//加载 js 文件function includeJs(filename) {

    var head = document.getElementsByTagName(’head’)[0];

    var script = document.createElement(’script’);

    script.src = filename;

    script.type = ’text/javascript’;

    head.appendChild(script)}

上面这种方式很简单,但也会出现一些问题,比如加载 JS 文件之后,需要执行 JS 内的方法,这时候偶尔会找不到方法执行,因为可能加载 JS 文件的时候,网络卡掉了,所以,需要换种方式加载,使用 JQuery 加载 CSS 文件:

$("head").append("<link>");var css = $("head").children(":last");css.attr({

      rel:  "stylesheet",

      type: "text/css",

      href: "address_of_your_css"});

Jquery 加载 JS 文件,有两种方式:

$.ajax({

    url: "js file",

    dataType: "script",

    cache: true,

    success: function () {

        //todo

    }});

$.getScript(’js file’, function () {

    //todo});

上面两种方式都可以,并且都是在加载 JS 文件之后,再执行 JS 内部的方法(不会出现找不到方法执行错误),第二种会更简单些。

那如果我们需要加载多个 JS 文件呢?

$.when(

    $.getScript( "/mypath/myscript1.js" ),

    $.getScript( "/mypath/myscript2.js" ),

    $.getScript( "/mypath/myscript3.js" ),

    $.Deferred(function(deferred){

        $(deferred.resolve);

    })

).done(function(){

    //place your code here, the scripts are all loaded});

 

如果需要多次调用,也可以抽离出方法:

//定义$.getMultiScripts = function(arr, path) {

    var _arr = $.map(arr, function(scr) {

        return $.getScript( (path||"") + scr );

    });

 

    _arr.push($.Deferred(function( deferred ){

        $( deferred.resolve );

    }));

 

    return $.when.apply($, _arr);}

//调用var script_arr = [

    ’myscript1.js’, 

    ’myscript2.js’, 

    ’myscript3.js’

];$.getMultiScripts(script_arr, ’/mypath/’).done(function() {

// all scripts loaded});

以上就jquery加载js文件、css文件的几种方法,大家可以根据自己的喜好来选择种类。希望能帮助到大家。

 

JQuery 加载 CSS、JS 文件的方法有哪些?

标签:

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
jiangjie190
加入时间:2016-02-19
  关注此人  发短消息
文章分类
jiangjie190”关注的人------(0
jiangjie190”的粉丝们------(0
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!