![]() |
Funkcja toggle() pod Google Chrome - 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: Funkcja toggle() pod Google Chrome (/thread-funkcja-toggle-pod-google-chrome) Strony:
1
2
|
Funkcja toggle() pod Google Chrome - dahel - 14-11-2011 Witam. Właśnie z tą funkcją mam problem. Mianowicie, gdy ustawiam parametr toggle (np toggle(200)), określający szybkość rozwijania Chrome psuje mi układ tabeli. Pod FF i IE działa wszystko w porządku. Gdy usunę parametr (zostawie toggle()) Chrome juz nie psuje mi układu. Czy to, jak rozumiem, Chrome po prostu nie obsługuje poprawnie toggle z tym parametrem? RE: Funkcja toggle() pod Google Chrome - Marys - 14-11-2011 Chrome w ogóle dziwnie działa z js. Może oddzielny styl? RE: Funkcja toggle() pod Google Chrome - dahel - 14-11-2011 Oddzielny styl? Mozesz rozwinąć? Dorzucam kod dla jasności.Bez parametru "200" skrypt działa sprawnie pod Chrome. $('#rozwin0').click(function(){ $('#ukryty0').toggle(200); }).toggle(function(){ $('#rozwin0').html('Zwiń<img src="../images/zwin.png" />').addClass('zwin'); }, function(){ $('#rozwin0').html('Rozwiń<img src="../images/rozwin.png" />'); }); RE: Funkcja toggle() pod Google Chrome - Kartofelek - 14-11-2011 ???? A od kiedy .toggle(200) ustawia szybkość animacji? http://jqapi.com/#p=toggle Ty podpinasz 2 x toggle... Poza tym tabele mają wyświetlanie table lub table-cell (komorki ect). Domyślnie ukrywanie i pokazywanie to dispaly:block i display:none. Pamiętam że spokojnie to obchodziłem własnym kodem. RE: Funkcja toggle() pod Google Chrome - dahel - 15-11-2011 dla toggle mozna ustawić szybkość rozwijania. W dokumentacji do której linka wkleiłeś także stoi $("p").toggle("slow");. Podpinanie 2x toggle też się sprawdza dla każdej z przeglądarek, więc nie jest błędem. Jak pisałem, problem polega na tym, że Chrome psuje układ tabeli w momencie dodania do toggle parametru jak wyżej. Pokombinuje jeszcze trochę. Ale szybciej pewnie poszłoby mi z jakimiś wskazówkami, więc byłbym wdzięczny ![]() I jeszcze jedno pytanko a'propos ukrywania elementów tabeli, jeśli nie display dla wiersza, to co? RE: Funkcja toggle() pod Google Chrome - Kartofelek - 15-11-2011 Nie. Toggle się podpina 1 raz. To że się sprawdza nie oznacza że jest dobrze. To tak jakbym podpinał 2x click. Pokombinuj z 2 funkcjami w śrdoku, szukaniem (find) tabeli itp i ustawianiu odpowiedniego sposobu renderowania RE: Funkcja toggle() pod Google Chrome - dahel - 17-11-2011 $('#rozwin0').click(function(){ $('#ukryty0').slideToggle(400); }).toggle(function(){ $('#rozwin0').html('Zwiń<img src="../images/zwin.png" />').addClass('zwin'); }, function(){ $('#rozwin0').html('Rozwiń<img src="../images/rozwin.png" />'); }); Działa sprawnie także pod Chrome. Pierwsze toggle zmienia widoczność elementu, drugie posiada argumenty, więc przełącza stan pomiędzy nimi. Nie ma tu żadnego konfliktu. Rozglądałem sie, podpinanie 2x toggle to stosowana praktyka. Dodatkowo slideToggle z argumentem 400 też działa niezawodnie. Trudno mi zatem zgodzić z Twoją opinią kartofelku. Mimo to dzieki za wskazówki, pozdrawiam ![]() RE: Funkcja toggle() pod Google Chrome - Kartofelek - 17-11-2011 To jest błędna praktyka. Takich z dupy tutoriali jest w necie milion pińcet więc to nie jest żaden wyznacznik. Ty powinieneś użyć toggle i tyle. Kod: $('#rozwin0').toggle( A teraz proste pytanie - czemu NIE tak jak ty to zrobiłeś? 1) bo 1 rzecz na kilka zdarzeń - źle. 2) poklikaj sobie szybko w ten twój "guzik". Zobaczysz piękny efekt powtarzania ![]() Zresztą nawet w powyższym kodzie widać błędy. Ogólnie toggle w takich zastosowaniach się po prostu nie sprawdza (patrz pkt 2). O wiele lepiej zrobić click wraz z wykrywaniem czy dany element jest animowany, stopowaniem animacji ect. No i o wiele lepiej używać parents, children ect zamiast id. Ps. Wrzucanie DIV do środka A też działa poprawnie, tak samo jak używanie U, CENTER ect. RE: Funkcja toggle() pod Google Chrome - dahel - 17-11-2011 Racja, wygląda to co najmniej bardziej logicznie. Póki co zostawie toggle, bo to, co pisałes na końcu jest mi jeszcze troche obce. Dzięki. RE: Funkcja toggle() pod Google Chrome - Kartofelek - 17-11-2011 Tutaj pisałem o animacji. Na górze wybierz temat "animacja w jquery". Jest tam też właśnie o stopowaniu itp http://doman.art.pl/kursjs/kurs/jquery/jquery.html |