Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wywołanie funkcji w .js umieszczonej w innym .js
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
bogdanos
Witam,
otóż chciałbym wywołać funkcję w taki sposób:
Kod
if ($(".textNapisz").val().length >= 160) {
            function BigSize();
    }
    else{
            function SmallSize();
    }
    });

tylko, że te funkcje BigSize i SmallSize są w pliku bigSmall.js
właśnie to co wkleiłem to nie działa, nawet jak wywalę function, też nie działa,
więc czy da się jakoś wywołać te funkcje??
mortus
Trzeba skrypt podpiąć pod jakieś zdarzenie (np. keyup), a plik z funkcjami BigSize() i SmallSize() dołączyć wcześniej.
  1. <script src="jquery.js"></script>
  2. <script src="bigSmall.js"></script>
  3. $(document).ready(function(){
  4. $(".textNapisz").keyup(function() {
  5. if ($(".textNapisz").val().length >= 160) {
  6. BigSize();
  7. } else {
  8. SmallSize();
  9. }
  10. });
  11. });
  12. });
bogdanos
zrobiłem tak i nie działa, zobacz, to jest HEAD html:
Kod
    <script type="text/javascript" src="js/jquery-1.6.2.js"></script>
    <script type="text/javascript" src="js/jquery-ui-1.8.15.custom.min.js"></script>
    <link rel="stylesheet" href="css/style.css">
    <script type="text/javascript" src="js/bigSmall.js"></script>//plik z funkcjami BigSize i SmallSize
    <script type="text/javascript" src="js/SprawdzanieNapisz.js"></script>//to jest plik z warunkiem IF - wywoływaniem funkcji z pliku bigSmall.js

zawartość pliku SprawdzanieNapisz.js:
Kod
$(document).ready(function(){

    $(".textNapisz").keyup(function(){
        $(".znaki").html($(this).val().length);
        
        if ($(".textNapisz").val().length >= 10){
            BigSize();
        }
        else{
            SmallSize();
        }
    });
});

no i nie działa
mortus
Zainstaluj sobie Firebuga dla Firefoxa to wtedy będziesz wiedział, że nie domknąłeś nawiasu w linii
[JAVASCRIPT] pobierz, plaintext
  1. $(".znaki").html($(this).val().length);
[JAVASCRIPT] pobierz, plaintext

Jeśli to domknięcie nawiasu nie pomoże, pokaż nam plik z funkcjami BigSize() i SmallSize().

Mam nadzieję, że wiesz, kiedy skrypt jest uruchamiany?
bogdanos
jeśli chodzi o tę linię to nie wiem o jakim nawiasie mówisz, bo ta linia kodu jest poprawnie wykonana, bo działa
mortus
Cytat(bogdanos @ 26.08.2011, 09:51:14 ) *
jeśli chodzi o tę linię to nie wiem o jakim nawiasie mówisz, bo ta linia kodu jest poprawnie wykonana, bo działa

Fakt, już od patrzenia w te literki niedowidzę.
Polecam jednak zainstalować Firebuga i włączyć śledzenie skryptów. W konsoli będziesz miał wszystkie błędy wypisane. Kodu funkcji nadal nie pokazałeś.
luckyps
Zamiast BigSize() i SmallSize(); dodaj tam jakies alerty i zobaczy czy w ogole tam wchodzi. Jesli tak to pokaz Nam te dwie funkcje, ktore chcesz wywolac,
bogdanos
proszę Was bardzo:
Kod
$(document).ready(function(){
//efekt zmiany grafiki i szerokości textarea oraz formularza
    $(".big_small_napisz").toggle(
        function BigSize()//pierwsze kliknięcie
        {
            $(".big_small_napisz").addClass("duze_Male");//dodanie klasy duze_Male

            $(".napisz_form").not(":animated").animate({width:"740"}, 200);//animowanie szerokości
            $(".textNapisz").not(":animated").animate({width:"664"}, 200);
        },

        function SmallSize()//drugie kliknięcie
        {
            $(".big_small_napisz").removeClass("duze_Male");//usunięcie klasy duze_Male

            $(".napisz_form").not(":animated").animate({width:"320"}, 200);//animowanie szerokości
            $(".textNapisz").not(":animated").animate({width:"244"}, 200);
        }
    );

//Zamykanie panelu Napisz -zmniejszenie i schowanie lewego panelu
    //cdn..
});

dodając alerty, działa
mortus
Ale przecież to nie są osobne funkcje, tyko callbacki metody jQuery .toogle():
[JAVASCRIPT] pobierz, plaintext
  1. function BigSize()//pierwsze kliknięcie
  2. {
  3. $(".big_small_napisz").addClass("duze_Male");//dodanie klasy duze_Male
  4.  
  5. $(".napisz_form").not(":animated").animate({width:"740"}, 200);//animowanie szerokości
  6. $(".textNapisz").not(":animated").animate({width:"664"}, 200);
  7. }
  8. function SmallSize()//drugie kliknięcie
  9. {
  10. $(".big_small_napisz").removeClass("duze_Male");//usunięcie klasy duze_Male
  11.  
  12. $(".napisz_form").not(":animated").animate({width:"320"}, 200);//animowanie szerokości
  13. $(".textNapisz").not(":animated").animate({width:"244"}, 200);
  14. }
  15. $(document).ready(function(){
  16. //efekt zmiany grafiki i szerokości textarea oraz formularza
  17. $(".big_small_napisz").toggle(BigSize(), SmallSize());
  18.  
  19. //Zamykanie panelu Napisz -zmniejszenie i schowanie lewego panelu
  20. //cdn..
  21. });
[JAVASCRIPT] pobierz, plaintext
bogdanos
dobra, to już sobie dam radę, dodam te funkcje do tego pliku co ma warunek, i będzie działać
a tak w ogóle, to szkoda, że nie działa taki sposób jaki próbowałem,
martus, twoja propozycja nie działa jak trzeba, także zostanę już przy swoim (pierwsza linia)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.