TypeError: $(...).offset(...) n'est pas défini

J'obtiens cette erreur

TypeError: $(...).offset(...) n'est pas défini

avec la flèche pointant vers le $.

J'ai regardé les questions qui arriverait quand j'ai tapé cette erreur dans le titre, mais je n'ai pas de solution.

Voici mon jquery

$(document).ready(function () {
if(window.location.href.indexOf("#") > -1)
{
    var pieces = window.location.href.split(/[\s_]+/);
    var section = pieces[pieces.length-1];
    var element_to_scroll_to = $('#' + section);
    var navbar_height = parseInt($('.navbar').css('height').replace('px', ''));
    animate_scroll(element_to_scroll_to, navbar_height, 25);
}
});

function animate_scroll (element, variable, offset) {
    $('html, body').stop().animate({
        scrollTop: $(element).offset().top - variable - offset

    }, 600);

}

et c'est l'ordre de mes fichiers js sont

{{ HTML::script('js/jquery-1.10.2.js') }}
{{ HTML::script('js/jquery-ui.js') }}
{{ HTML::script('js/bootstrap.min.js') }}
{{ HTML::script('js/wow.min.js') }}
{{ HTML::script('js/jquery.superslides.min.js') }}
{{ HTML::script('js/slick.min.js') }}
{{ HTML::script('js/modernizr.custom.js') }}
{{ HTML::script('js/classie.js') }}
{{ HTML::script('js/elastic_grid.min.js') }}
{{ HTML::script('js/webkrunch_portfolio.js') }}
{{ HTML::script('js/main.js') }}
  • Il ne sait pas ce que $(element) est. Vous n'avez jamais défini. Essayez d'utiliser seulement element. Donc, fondamentalement, scrollTop: element.offset().top - variable - offset
  • Les Chances sont $(element) n'existe pas dans les DOM. Essayez de vérifier $(element).d'abord la longueur.
  • ne pourrait-il pas tout scrollTop chose être accompagnée d'une fonction {}?
  • tout d'abord, apprendre à utiliser la console dans le Chrome Developer Tools... avec un simple console.log(element, $(element)) à l'intérieur de votre animate_scroll() fonction, vous seriez en mesure de débogage vous-même
InformationsquelleAutor Nix | 2015-09-15