• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

"Uncaught TypeError: $ is not a function" przy ładowaniu skryptu JS do Wordpressa

HackNation - ogólnopolski hackathon
0 głosów
2,870 wizyt
pytanie zadane 15 września 2015 w JavaScript przez marcin1333 Początkujący (400 p.)

Witam,

pierwszy raz przenoszę stronę stworzoną na podstawie Bootstrapa do Wordpressa, aby dodać możliwość obsługi karty "Aktualności" i natrafiłemna problem....

mianowicie, kiedy dodaję skrypt poprzez kartę "funcions" to skrypt przestaje działać na wordpressie i wyskakuje mi w debugu chrome następujący błąd:

Uncaught TypeError: $ is not a function(anonymous function) @ smsc.js?ver=1.0:1

gdzieś wyczytałem, że to problem wordpressa, że jest jakiś konflikt z funkcją "$" i trzeba trochę inaczej funcję zapisać. Niestety nie umiem na tyle dobrze JS aby samemu sobie poradzić, a próbowałem...

jest mi ktoś w stanie pomóc w jaki sposób mam napisać poniższy skrypt:

$(document).ready(function() {
    // navigation click actions    
    $('.scroll-link').on('click', function(event){
        event.preventDefault();
        var sectionID = $(this).attr("data-id");
        scrollToID('#' + sectionID, 750);
    });
    // scroll to top action
    $('.scroll-top').on('click', function(event) {
        event.preventDefault();
        $('html, body').animate({scrollTop:0}, 'slow');         
    });
    // mobile nav toggle
    $('#nav-toggle').on('click', function (event) {
        event.preventDefault();
        $('#main-nav').toggleClass("open");
    });
});
// scroll function
function scrollToID(id, speed){
    var offSet = 0;
    var targetOffset = $(id).offset().top - offSet;
    var mainNav = $('#main-nav');
    $('html,body').animate({scrollTop:targetOffset}, speed);
    if (mainNav.hasClass("open")) {
        mainNav.css("height", "1px").removeClass("in").addClass("collapse");
        mainNav.removeClass("open");
    }
}
if (typeof console === "undefined") {
    console = {
        log: function() { }
    };
}

2 odpowiedzi

+2 głosów
odpowiedź 15 września 2015 przez Magicone Nałogowiec (45,100 p.)
wybrane 15 września 2015 przez marcin1333
 
Najlepsza

Najprościej - opakuj cały skrypt w to:

(function($){
	//script
})(jQuery);

 

komentarz 15 września 2015 przez marcin1333 Początkujący (400 p.)
edycja 15 września 2015 przez marcin1333

nie zgłasza błędu już, ale za to skrypt nie działa... wydaje mi się, że ważne w nim jest te początkowe "$(document).ready"

kurde już brak mi normalnie pomysłów... 

PRZEPRASZAM - DZIAŁA! laugh

przez nieuwagę nie opakowałem całego skryptu... mój błąd... trzeba opakować calutki skrypt w pliku JS, a nie pojedyncze funkcje. Bardzo Ci dziękuję kolego! yeswink

A dla potomnych, to poniżej daję wyjaśneinie z dokumentacji Wordpressa:

http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_Wrappers

komentarz 15 września 2015 przez marcin1333 Początkujący (400 p.)

Jeszcze raz - DZIĘKI! cool

0 głosów
odpowiedź 15 września 2015 przez Tomasz90 Nałogowiec (25,140 p.)

Niby to powinno pomóc:

jQuery(document).ready(function($) {
// tutaj można używać $
});
komentarz 15 września 2015 przez marcin1333 Początkujący (400 p.)

ciągle ten sam błąd... własnei to już próbowałem... normalnie już włosy zaczynam z głowy wyrywać...crying

Podobne pytania

0 głosów
1 odpowiedź 1,063 wizyt
0 głosów
1 odpowiedź 453 wizyt
pytanie zadane 9 lipca 2020 w JavaScript przez Bakkit Dyskutant (7,600 p.)
0 głosów
1 odpowiedź 197 wizyt

93,626 zapytań

142,549 odpowiedzi

323,034 komentarzy

63,129 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 1210p. - dia-Chann
  2. 1197p. - DziarnowskiJ
  3. 1177p. - Łukasz Piwowar
  4. 1172p. - CC PL
  5. 1161p. - Maurycy W
  6. 1141p. - Adrian Wieprzkowicz
  7. 1138p. - raydeal
  8. 1134p. - Tomasz Bielak
  9. 1116p. - rucin93
  10. 1101p. - robwarsz
  11. 1100p. - Mariusz Fornal
  12. 1024p. - ssynowiec
  13. 885p. - Dominik Łempicki (kapitan)
  14. 847p. - Grzegorz Aleksander Klementowski
  15. 838p. - Wojciech Malicki
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...