2016-07-31 4 views
1

Stellar HTML5UPテンプレートのコードを自分のニーズに合わせて調整しています。ある時点で、jQueryを1.11.7から3.1.0に更新することにしました。

(function($) { 

    $(function() { 

     var $window = $(window), 
      $body = $('body'), 
      $main = $('#main'); 

     // Disable animations/transitions until the page has loaded. 
     $body.addClass('is-loading'); 

     $window.on('load', function() { 
      console.log("Page loaded"); 
      window.setTimeout(function() { 
       $body.removeClass('is-loading'); 
      }, 100); 
     }); 

     // more code 
    }); 

})(jQuery); 

jQuery 1.11を使用すると、Webコンソールで「ページが読み込まれました」と表示されます。 jQueryを更新した後、コードブロックはもう実行されません。

なぜですか?

答えて

2

1.8では廃止され、3.0では削除されました。ドキュメントを参照してください。https://api.jquery.com/load-event/

+0

あなたの体の内部でのみ 'window.load(...を)スクリプトをラップ十分でありません'構文は廃止され、代わりに' window.on( 'load'、...) 'を使うべきです:http://stackoverflow.com/questions/12643160/load-method-deprecated – marmistrz

+0

jquery 3.1.0は依然として.onをサポートしています()関数を使用しますが、.laod()は非推奨です – jonju

+0

と 'on'を使用しています...私は理解しません – marmistrz

0

これはあなたの条件

var $window = $(window), 
    $body = $('body'), 
    $main = $('#main');  
    $body.addClass('is-loading'); 
    $(window).on('load', function() { 
     console.log("Page loaded"); 
     window.setTimeout(function() { 
      $body.removeClass('is-loading'); 
     }, 100); 
    }); 

は、この記事によると

https://jsfiddle.net/78z2rmsb/

+0

これはなぜ動作しますか? '$ window'を' $(window) 'に変更しただけです。これをFirefox Webコンソールに入力した後、私は 'TypeError:window.on is not a function'を取得します。ウェブページを読み込んでいるときにウェブコンソールにエラーが表示されなかったのはなぜですか? – marmistrz

関連する問題