![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 27.08.2009 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Niestety dostaję białej gorączki an tę sprawę. Wcześniej już pisałem. Ktoś mi doradził, ale niestety nie poradziłem sobie. Teraz podaję pełne kody, może ktoś mi podpowie, jak to dziadostwo ustawić, żeby zadziałało. http://193.218.155.141/~karolklos/test/test.html Chodzi o to, że: 1) po wejściu na stronę nie dziąła suwak. DLACZEGO? Przecież window.onload() się wykonało... 2) te 6 linków na górze to testowe linki: sub_01.php, sub_02.php, sub_03.php, sub_04.php, sub_05.html to linki zawierające fragment kodu z treścią div do podmiany. Fajnie działa, ale niestety nie działa suwak 3) link ostatni: ta_sama powoduje cudowne zjawisko, bliżej niewyjaśnione, powodujące, ze suwak nagle zaczyna działać. Niestety jest to po porstu przeładowanie tej strony. O CO MI CHODZI? Chodzi mi o to, aby: a ) po wejściu na stronę (od razu) działał suwak b ) po wejściu na inny link i powrocie do strony z suwakiem na skutek kliknięcia w link "sub_05.html" ten suwak również działał. Oczywiście będę bardzo zobowiązany i wdzięczny za wskazówki i podpowiedzi. Pozdrawiam KK. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
wywala błąd i dlatego nie działa... zobacz sobie w moją sygnaturę a wszystko stanie się jasne (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 27.08.2009 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
wywala błąd i dlatego nie działa... zobacz sobie w moją sygnaturę a wszystko stanie się jasne (IMG:style_emoticons/default/smile.gif) Stary, pomyślisz pewnie, że jestem kretynem, ale nie wiem o jakiej sygnaturze piszesz :/ aaa - chodzi zapewne o Twój opis z Operą (IMG:style_emoticons/default/smile.gif) Sekunda, zaraz obadam. Hej - tak, rzuca błąd. O taki: [2011-10-09 20:23:11] JavaScript - http://193.218.155.141/~karolklos/test/test.html Inline script thread Uncaught exception: TypeError: Cannot convert 'o' to object Error thrown at line 7, column 1 in jsScroller(o, w, h) in http://193.218.155.141/~karolklos/test/tes.../jsScroller.js: var list = o.getElementsByTagName("div"); called from line 5, column 16 in nol() in http://193.218.155.141/~karolklos/test/test.html: scroller = new jsScroller(document.getElementById("Scroller-1"), 800, 544); called from line 8, column 12 in http://193.218.155.141/~karolklos/test/test.html: window.onload = nol(); Wg mnie, nie może utworzyć obiektu z powodu niemożności znalezienia DIVu takiego: "Scroller-1" Jeżeli mam rację, to on kłamie, bo taki DIV jest. Niżej... help, help... Najciekawsze jest to, że jak przerobię: <script type="text/javascript"> var scroller = null; var scrollbar = null; function nol() { scroller = new jsScroller(document.getElementById("Scroller-1"), 800, 544); scrollbar = new jsScrollbar (document.getElementById("Scrollbar-Container"), scroller, false); } window.onload = nol (); </script> na <script type="text/javascript"> var scroller = null; var scrollbar = null; window.onload = function () { scroller = new jsScroller(document.getElementById("Scroller-1"), 800, 544); scrollbar = new jsScrollbar (document.getElementById("Scrollbar-Container"), scroller, false); } </script> TO DZIAŁA, przynajmniej na wejście na stronę... Ale ja chciałbym to ajaxowo a nie tak normalnie... Ten post edytował edgar72 9.10.2011, 19:11:12 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dziwne, spróbuj przesunąć skrypty na sam koniec <body>, ew. spróbuj uruchomić nol() z użyciem $(document).ready() - co nie zmienia faktu że tego błędu raczej nie powinno być.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 27.08.2009 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
skrypty na sam koniec <body> - niestety nie działa. A ten drugi sposób, to muszę się poduczyć, jak tego użyć (IMG:style_emoticons/default/sad.gif)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Przeczytałem twój post raz jeszcze. Zapomnij o moim poprzednim. O ile dobrze rozumiem to ty próbowałeś wywołać funkcję nol() w momencie przypisania jej do zdarzenia window.onload (tak przynajmniej interpretuję zapis window.onload = nol() ).
Czyli:
wywołuje tak naprawdę funkcję nol() w momencie przypisania. Ponieważ w danym momencie drzewo DOM jeszcze nie jest kompletne (dopiero jest parsowane) więc zawartość funkcji nol() wyrzuca błąd. W drugim przypadku bindujesz funkcję anonimową z zdarzeniem onload więc funkcja jest uruchamiana w momencie gdy DOM jest już gotowy -> więc działa. Mimo to zajrzyj sobie do dokumentacji jQuery (zwłaszcza że go dołączasz) i zobacz jak się używa tam metody $(document).ready() - będziesz miał efekt szybciej i podejrzewam że z mniejszą ilością problemów między przeglądarkami. Cytat Ale ja chciałbym to ajaxowo a nie tak normalnie... Ajax jest już passé. Zapoznaj się z dokumentacją jQuery. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 27.08.2009 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Hej, bardzo Ci dziękuję za analizę (IMG:style_emoticons/default/smile.gif)
Pouczające są Twoje wskazówki. Na pewno pomogą mi w dalszym rozgrywaniu problemu. Pozdrawiam serdecznie, KK. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ajax jest już passé. Zapoznaj się z dokumentacją jQuery. a jQuery to niby z czego korzysta... ? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
@UP
Pewnie z logiki choć głowy za to nie dam (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 27.08.2009 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Niestety nie poradziłem sobie z tym problemem. Brakuje mi pomysłów, jak to rozwiązać. Przecież to się wydaje takie proste (IMG:style_emoticons/default/smile.gif) Proszę Was jeszcze raz o wskazówki, ale bardziej dla początkującego, niż zaawansowanego. Z góry dziękuję. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
No przecież kolega wyżej napisał rozwiązanie $(document).ready() lub jak kto woli $(function() {
|
|
|
--edgar72-- |
![]()
Post
#12
|
Goście ![]() |
Hej,
Zrobiłem tylko w nagłówku HEAD, o tak: <script type="text/javascript"> var scroller = null; var scrollbar = null; $(document).ready(function { scroller = new jsScroller(document.getElementById("Scroller-1"), 800, 544); scrollbar = new jsScrollbar (document.getElementById("Scrollbar-Container"), scroller, false); }); </script> Link ten sam, co w pierwszym poście, i jest SUPER (IMG:style_emoticons/default/smile.gif) , ale tylko na wejście na stronę (IMG:style_emoticons/default/sad.gif) Po wejściu gdzie indziej i powrocie (czyli kliknięciu w sub_05.html ORAZ ta_sama) suwaczek nie chce się przesuwać... Czyli teraz działa na wejście, ale po przeładowaniu nie działa ani po podmianie DIVa z contentem z suwakiem... Dzięki za dotychczasowe podpowiedzi, ale nadal nie wiem, jak zrobić, aby działało we wszystkich przypadkach. Proszę o pomoc. |
|
|
-Gość- |
![]()
Post
#13
|
Goście ![]() |
ERRATA - oczywiście zapomniałem wpisać "()", ale i tak nic się nie zminiło:
<script type="text/javascript"> var scroller = null; var scrollbar = null; $(document).ready(function() { scroller = new jsScroller(document.getElementById("Scroller-1"), 800, 544); scrollbar = new jsScrollbar (document.getElementById("Scrollbar-Container"), scroller, false); }); </script> |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 27.08.2009 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Hej,
Czy miałby ktoś jeszcze jakiś pomysł na ten temacik? |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 38 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dziwna rzecz... Zobacz, że przy starcie strony div o id="Container" nie ma żadnych styli w swoim tagu, a po kliknięciu u góry w link z treścią już ma 'style="display: block;"'. Innym elementom też chyba się nowe style pokazują. Nie wiem czy to ma wogóle jakiś związek (IMG:style_emoticons/default/tongue.gif) ale może pomoże.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 27.08.2009 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Hej,
(IMG:style_emoticons/default/sad.gif) Ja nie mam nadal pomysłów na to... Ma ktoś jakiś pomysł? A może jakoś zupełnie inaczej trzeba to napisać, - całość, z tą podmianą DIV... Jak tak, to może macie jakies linki do rozwiązań? Mi się najlepiej uczy z takich "wzorców projektowych" (IMG:style_emoticons/default/smile.gif) Chyba, że ktoś wpadnie, jak tu zmienić, żeby w końcu jakoś to zadziałało. Tyle dni już kombinujemy... :/ |
|
|
--edgar72-- |
![]()
Post
#17
|
Goście ![]() |
Cześć wszystkim,
Czy mogę liczyć jeszcze na jakieś wskazówki? |
|
|
-Gość- |
![]()
Post
#18
|
Goście ![]() |
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 27.08.2009 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Niestety jeszcze nie rozwikłałem tej chorej zagadki. Pliz o ew. pomoc. Jak nie uda się, to chyb aoleję ten temat i zrobię przeładowywanie klasyczne, bez żadnych jQuerowych podmian i ajaxowych funkcji...
Trochę zubożeje stronka, no ale co poradzić... Pozdrawiam, KK. |
|
|
![]()
Post
#20
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
W swoim DOM'ie po załadowaniu AJAX'a nie masz jeszcze tego elementu a Ty już chcesz dla niego wykonywać jakieś akcje (robić z niego przewijany pasek), upewnij się przed załadowaniem że masz to w DOM'ie i dopiero wtedy ładuj pasek przewijania.
Możesz tak to zrobić: Kod $('#Scroller-1').live('click', function(){
scroller = new jsScroller(document.getElementById("Scroller-1"), 800, 544); scrollbar = new jsScrollbar (document.getElementById("Scrollbar-Container"), scroller, false); }); |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 15:13 |