Ocena wątku:
- 0 głosów - średnia: 0
- 1
- 2
- 3
- 4
- 5
Funkcja toggle() pod Google Chrome
|
Liczba postów: 26
Liczba wątków: 13
Dołączył: 26-10-2011
Reputacja:
0
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?
Liczba postów: 350
Liczba wątków: 93
Dołączył: 23-11-2008
Reputacja:
6
Chrome w ogóle dziwnie działa z js. Może oddzielny styl?
Liczba postów: 26
Liczba wątków: 13
Dołączył: 26-10-2011
Reputacja:
0
14-11-2011, 17:38
(Ten post był ostatnio modyfikowany: 14-11-2011, 17:40 przez dahel.)
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" />');
});
Liczba postów: 2,411
Liczba wątków: 14
Dołączył: 10-08-2009
Reputacja:
132
14-11-2011, 19:06
(Ten post był ostatnio modyfikowany: 14-11-2011, 19:07 przez Kartofelek.)
????
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.
Liczba postów: 26
Liczba wątków: 13
Dołączył: 26-10-2011
Reputacja:
0
15-11-2011, 15:10
(Ten post był ostatnio modyfikowany: 15-11-2011, 15:38 przez dahel.)
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?
Liczba postów: 2,411
Liczba wątków: 14
Dołączył: 10-08-2009
Reputacja:
132
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
Liczba postów: 26
Liczba wątków: 13
Dołączył: 26-10-2011
Reputacja:
0
17-11-2011, 14:41
(Ten post był ostatnio modyfikowany: 17-11-2011, 15:08 przez dahel.)
$('#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  . i hmm..kartofelek, to jak rozumiem, taka pyrka??;p
Liczba postów: 2,411
Liczba wątków: 14
Dołączył: 10-08-2009
Reputacja:
132
17-11-2011, 16:09
(Ten post był ostatnio modyfikowany: 17-11-2011, 16:15 przez Kartofelek.)
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(
function() {
$('#ukryty0').slideDown(400);
$(this).html('Zwiń ....');
},
function() {
$('#ukryty0').slideUp(400);
$(this).html('Rozwiń....');
}
)
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.
Liczba postów: 26
Liczba wątków: 13
Dołączył: 26-10-2011
Reputacja:
0
17-11-2011, 16:55
(Ten post był ostatnio modyfikowany: 17-11-2011, 16:56 przez dahel.)
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.
Liczba postów: 2,411
Liczba wątków: 14
Dołączył: 10-08-2009
Reputacja:
132
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
|
Podobne wątki… |
Wątek: |
Autor |
Odpowiedzi: |
Wyświetleń: |
Ostatni post |
|
funkcja nieustannie czytajaca wartosci input |
Arnimarl |
1 |
2,995 |
25-05-2014, 07:39
Ostatni post: Arnimarl
|
|
aby funkcja JQuery zadzialala po okreslonym czasie |
Arnimarl |
2 |
3,820 |
25-05-2014, 07:38
Ostatni post: Arnimarl
|
|
Jak wypozycjonować content strony z paskiem Google Translate |
ZaqU |
4 |
4,072 |
10-04-2014, 19:54
Ostatni post: kornell
|
|
Niepoprawne zachowanie Chrome |
lomek |
1 |
2,618 |
12-09-2013, 00:09
Ostatni post: Kartofelek
|
|
[CSS] Problem z wyświetleniem mapy google |
spolprog |
2 |
3,373 |
24-07-2013, 19:02
Ostatni post: atp
|
Użytkownicy przeglądający ten wątek: 1 gości
|
|
Sponsorzy i przyjaciele
|
|
|