Wątek przeniesiony 2014-09-27 09:28 z Webmastering przez dzek69.

Funkcja click() na podstawie indentyfikatora z li

0

Chciałbym aby jak kliknę na znacznik li, na którego da się kliknąć bo został skonfigurowany tak:

#menul li {
	    background: #abc;
	    margin: 5px 5px;
	    display: inline-block; 
	    padding: 10px 10px;
	    cursor: pointer;
} 

to żeby mi wywołało funkcję click z jquery():

<div id="menu">
		<ul id="menul">
		<li id="id1">Strona Główna</li>
		<li id="id2">O mnie</li>
		<li id="id3">Dodatkowa Zakładka</li>
		</ul>
</div>
$("#id2").click(function() {
	//niech robi cokolwiek - niżej kod na chowanie jednego diva, odkrywanie drugiego
	$('#main').fadeOut(1000,function() {
		$('#about').fadeIn(1000);
		});
});

Domyślam się że na pewno coś źle robię, dlatego wolę zapytać raz i zapamiętać na dobre.

0

podstawy, zapomnialem o zbindowaniu tego: http://learn.jquery.com/about-jquery/how-jquery-works/

w polowie jest przyklad i wytluamczenie, ale przeczytaj wszystko.

zapakuj to w $(document).ready zeby zbindowac:

$(document).ready(function(){
             $("#id2").click(function() {
    //niech robi cokolwiek - niżej kod na chowanie jednego diva, odkrywanie drugiego
    $('#main').fadeOut(1000,function() {
        $('#about').fadeIn(1000);
        });
});     
                  
                  });
0

To że tego na wklejonym kodzie nie widać to nie znaczy że tego nie ma :D.
W każdym razie kod nadal nie działa ^^.

1

Nie działa to dość ogólne pojęcie. Co się dokładnie dzieje? Nie wykonuje się, czy fade nie chce zaskoczyć?
Na początku dodaj console.log lub alert i spróbuj coś wyświetlić. Jeśli nic się nie będzie działo w konsoli przeglądarki wykonaj $('#id2') i sprawdź czy zwraca Ci obiekt li. Jeśli tak spróbuj dodać zdarzenie w ten sposob:

$("#id2").on('click', function() {...});

Jeśli console-log zadziała sprawdź czy elementy $('#main') i $('#about') zwracają odpowiednie obiekty i spróbuj ręcznie z konsoli przeglądarki wykonać fade na tych obiektach.

0

Dziękuje bardzo, sprawdziłem logi i na podstawie ich szybko naprawiłem błąd. No widzisz rzadko korzystałem z jquery/javascript i zapomniałem o logach :P.

1 użytkowników online, w tym zalogowanych: 0, gości: 1