![]() |
jQuery Chrome left - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: xHTML, CSS, JavaScript (https://www.webmastertalk.pl/forum-xhtml-css-javascript) +--- Wątek: jQuery Chrome left (/thread-jquery-chrome-left) |
jQuery Chrome left - Kartofelek - 20-02-2011 Wczoraj natknąłem się na ciekawy problem. Może jakaś literówka, ale nic nie wymyśliłem. Na mojej stronie http://doman.art.pl na górze strony latają sobie chmurki. Skrypt do nich wygląda tak: Kod: var ile = 10; Interesujące mnie linijki oznaczyłem gwiazdkami. We wcześniejszej wersji chmurka miała wylecieć poza ekran, czyli jej left miało być < -400 (2 linijka). Niestety pierwsza z oznaczonych linijek w Chromie nie działała, i chmurka maksymalnie uzyskiwała 0, stąd w 2 oznaczonej linijce musiałem zmienić warunek z -400 na 0. Teraz niby działa, ale może ktoś wie, czemu Kod: $ob.css('left', $ob.position().left - $ob.speed); w Chromie poniżej 0 nie działa? Ps. offset() też nie przynosił rezultatu. Pomyślałem sobie, że mógł bym left trzymać w tablicy jak resztę zmiennych. Drugie rozwiązanie to nie przesuwanie obiektu, a rozciągnięcie go na cały obszar i animacja tylko backgrounda. Może wtedy będzie lepsza wydajność? O wiele lepiej by się pisało posty, gdyby to forum korzystało z syntaxhighlightu ( http://alexgorbatchev.com/SyntaxHighlighter/ ) ![]() RE: jQuery Chrome left - Kartofelek - 20-02-2011 Temat do zamknięcia. Poradziłem sobie. Namąciłem w tym skrypcie i pewnie przez to gubił referencje czy coś takiego. Zastosowałem o wiele prostszą wersję i działa jak należy RE: jQuery Chrome left - beny - 20-02-2011 nie odpowiem Ci wprost na zadane pytanie ale zwrócę na coś innego uwagę 1. pod chrome dla linuxa chmurki znikają, po wyjściu na kilkaset px z prawej strony 2. w firebugu zauważyłem, że opacity dla chmurek lubi przekraczać 1, a wiem, że chrome ma swoją wizję co do opacity i mogą z tego wynikać pewne nieprzewidziane problemy najsensowniejsza moim zdaniem jest Twoja druga propozycja - rozciągnąć to na całą szerokość i animować background-position z chęcią dowiem się o co chodziło ![]() RE: jQuery Chrome left - Kartofelek - 20-02-2011 Teraz ci w 100% nie odpowiem, bo mam już nową wersję tego czegoś. Może to to? var $ob = $chmurki[i]; $ob.position().left <= 0 && !$ob.done) Pod ob jest element tabeli który niby jest rozbudowanym o moje zmienne obiektem jquery, ale może jquery w chromie tutaj się gubiła/o? Chodzi dokładnie o position().left. Bo gdy trzymałem left w dodatkowej zmiennej okazało się, że działa. Czyli przy początkowej deklaracji dodałem tą dodatkową zmienną: $chmurki[i].left = ..... A potem wszystkie operacje robiłem w oparciu o tą zmienną. Ale jak mówiłem. To już stara wersja, bo nowa jest na maksa uproszczona. Tam nawet to opacity nie musi być zmieniane, bo przecież chmurki nie znikają przy dotarciu do krawędzi, a po prostu wylatują za nią ![]() Kod: var ile = 10; |