2016-07-31 3 views
1

Ich passe den Code von der Stellar HTML5UP Vorlage an meine Bedürfnisse an. Irgendwann habe ich beschlossen, jQuery von 1.11.7 auf 3.1.0 zu aktualisieren.

(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); 

Bei Verwendung von jQuery 1.11 kann ich in meiner Webkonsole "Seite geladen" sehen. Nach der Aktualisierung von jQuery wird der Codeblock nicht mehr ausgeführt.

Warum?

Antwort

2

Es wurde in 1.8 veraltet und in 3.0 entfernt. Siehe docs: https://api.jquery.com/load-event/

+0

Nach diesem Beitrag nur das 'window.load (...) 'Syntax ist veraltet und man sollte' window.on ('load', ...) 'stattdessen verwenden: http://stackoverflow.com/questions/12643160/load-method-deprecated – marmistrz

+0

jquery 3.1.0 unterstützt weiterhin .on() Funktion aber. Laod() ist veraltet – jonju

+0

und ich benutze 'on' ... Ich verstehe nicht – marmistrz

0

Enthält diese genügt Ihre Anforderung

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); 
    }); 

wickeln Sie das Skript in Ihrem Körper

https://jsfiddle.net/78z2rmsb/

+0

warum funktioniert das und das vorherige nicht? Sie haben '$ window' nur in' $ (window) 'geändert. Nachdem ich dies in die Firefox Webkonsole eingegeben habe, bekomme ich 'TypeError: window.on ist keine Funktion'. Warum habe ich beim Laden der Webseite keinen Fehler in der Webkonsole erhalten? – marmistrz

Verwandte Themen