konto usunięte

Temat: zabawy w toggle i switche itp

co prawda w jquery, ale nie o to teraz tu chodzi, chociaż...

może mi wytłumaczycie, dlaczego ten kod nie działa tak jakbym chciał? tzn. ma być tak, że: tekst na "dzień dobry" jest schowany (ujemny css left:). po kliknięciu na którykolwiek z odnośników ma się wysunąć na wierzch. po kliknięciu ponownie na którys z odnosnikow ma się schowac i ponownie pojawic. uzyta ponizej konstrukcja ma za zadanie uniemozliwic uruchomienia akcji w trakcie, gdy dzieje się animacja. tak się jednak nie dzieje - animacja zatrzymuje sie w polowie, a po trzech kliknieciach nie pojawia sie wogole.


var otwieracz = 0;
var semafor=1;

$(document).ready(function() {
$("#menu a").click(function(){

if(semafor == 1) {
semafor = 0;
if(otwieracz == 0) {
$(".schowajTekst").switchClass("schowajTekst", "pokazTekst", 1500, function() {
otwieracz = 1;
});
} else {
$(".pokazTekst").switchClass("pokazTekst", "schowajTekst", 1500, function() {
$(".schowajTekst").switchClass("schowajTekst", "pokazTekst", 1500, function() {
otwieracz = 0;
semafor = 1;
});
});
}
}
});


});

konto usunięte

Temat: zabawy w toggle i switche itp

już wiem, przeoczyłem że drugi otwieracz powinien równać się 1.

do wywalenia, sorki za problem!

konto usunięte

Temat: zabawy w toggle i switche itp

Grzegorz Kaszuba:
co prawda w jquery, ale nie o to teraz tu chodzi, chociaż...

1/ Ni używaj w kodzie polskich nazw klas i zmiennych, bo to wygląda bardzo mało profesjonalnie i dziwnie się czyta.
2/ Jeśli na taką pierdołę jak pokazywanie i wyświetlanie kawałka tekstu potrzebujesz dwóch zmiennych, potrójnej instrukcji if i trzech wcięć w kodzie, to znaczy, że z kodem coś jest nie tak.

Zainteresuj się takimi funkcjami jQuery jak toggle(), show() i hide() http://docs.jquery.com/Effects/toggle. Twój przykład powinien się uprościć do:


$("#menu a").click(function(){
$(".schowajTekst").toggle(1500);
});

konto usunięte

Temat: zabawy w toggle i switche itp

Łukasz Bandzarewicz:

Zainteresuj się takimi funkcjami jQuery jak toggle(), show() i hide() http://docs.jquery.com/Effects/toggle. Twój przykład powinien się uprościć do:


$("#menu a").click(function(){
$(".schowajTekst").toggle(1500);
});

ponadto, żeby click nie wywołał domyślnej akcji trzeba dodać e.preventDefault(); (tudzież return false)


$("#menu a").click(function(e){
$(".schowajTekst").toggle(1500);
e.preventDefault();
});
Olga Grabek

Olga Grabek Senior Software
Engineer

Temat: zabawy w toggle i switche itp

Piotr Lewandowski:

ponadto, żeby click nie wywołał domyślnej akcji trzeba dodać e.preventDefault(); (tudzież return false)


$("#menu a").click(function(e){
$(".schowajTekst").toggle(1500);
e.preventDefault();
});

Akurat w przypadku toggle nie jest to konieczne, bo twórcy biblioteki sami o to zadbali:


toggle: function( fn ) {
....
// Make sure that clicks stop
event.preventDefault();

.... },

konto usunięte

Temat: zabawy w toggle i switche itp

Olga Grabek:

Akurat w przypadku toggle nie jest to konieczne, bo twórcy biblioteki sami o to zadbali:


toggle: function( fn ) {
....
// Make sure that clicks stop
event.preventDefault();

.... },

Racja :D Przedobrzyłem :DPiotr Lewandowski edytował(a) ten post dnia 27.12.09 o godzinie 22:40



Wyślij zaproszenie do