Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Box po naciśnięciu przycisku?
Micchaleq
post 9.02.2012, 09:11:09
Post #1





Grupa: Zarejestrowani
Postów: 186
Pomógł: 4
Dołączył: 13.10.2009

Ostrzeżenie: (0%)
-----


Witam serdecznie,

Od niedawna zaczynam uczyć się JavyScripta i w sumie jej dzieci czyli AJAX i jQuery.

Moim aktualnym celem jest stworznie menu, które po naciśnięciu będzie otwierało obok jakby dymek ze zlinkowanymi obrazkami.

Ogólnie to co próbowałem w czystej javie to zrobić

  1. <a href="#" onclick="wykonaj('a')">a</a>
  2. <div id="link_a">
  3. <a href="#" onclick="wykonaj('b')">b</a>
  4. <div id="link_b">


teraz w js

zapisuje sobie kod

  1. function menu(gdzie)
  2. {
  3. var pole = document.getElementById('link_' + gdzie);
  4. pole.class = "link_" + gdzie;
  5. }


// funkcja w js teraz moze być błędnie zapisana bo do konca nie pamietam jak to leciało bo jestem w pracy ale jakoś tak.

Proszę mi powiedzieć, czy takie połączenie wystarczy by nadać div-owi o id link_a klasę link_a
Czy trzeba to zrobić trochę inaczej.

Oczywiście tego, że trzeba by jeszcze zapisywać czy jakiś jest otwarty i go zamykać to wiem chodzi mi jedynie o połączenie tego bo zapisująć tak nie działało mi to .

Ten post edytował strife 9.02.2012, 09:54:53
Powód edycji: [strife]: Dodanie BB Code


--------------------
Go to the top of the page
+Quote Post
strife
post 9.02.2012, 09:56:04
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Hej,

Nie jestem do końca pewien, ale to jest wynik tego co chcesz osiągnąć? http://www.designgala.com/demos/collapse-expand-jquery.html

Druga sprawa to taka, że wszystkie tagi muszą być pozamykane zawsze. I jak mówisz, że używasz jQuery to to rób, kod będziesz miał bardziej przejrzysty i łatwiejszy w dalszym rozwijaniu.

Jeżeli chcesz osiągnąć to co Ci podałem w linku wyżej to tak, wystarczy nadać odpowiednie klasy dla div'ów, które chcemy rozszerzać / chować, wtedy robisz akcję typu onClick na elemencie, który ma to powodować i odpowiednio to obsługujesz np. w jquery wystarczy stworzyć $.click, a w ciele tej funkcji ustawic $.toggle na elementach, które mają się chować, rozwijać.

np. http://api.jquery.com/toggle/

PS. Proszę, abyś używał BBCode do wstawiania kodu źródłowego.

PS2. I nie ładnie tak w pracy chodzić po forum tongue.gif


--------------------
Go to the top of the page
+Quote Post
Micchaleq
post 9.02.2012, 09:58:16
Post #3





Grupa: Zarejestrowani
Postów: 186
Pomógł: 4
Dołączył: 13.10.2009

Ostrzeżenie: (0%)
-----


Przepraszam ze podaje kogoś stronę, ale jest tutaj podobny efekt do tego który chce osiągnąć :

http://www.vert.pl/projektowanie-stron.html

tutaj boxy otwierają się w lewo.

Ja chcę to zrobić podobnie ale aby boxy otwierały się w górę. // ale to to już jest kwestia css-a



PS: Soki za bb, ale zapomniałem bo pisałem z palca.

PS2: wiem o divach ale to tak z rozpędu i PS wyżej

Ten post edytował Micchaleq 9.02.2012, 10:04:43


--------------------
Go to the top of the page
+Quote Post
strife
post 9.02.2012, 10:05:06
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


No to tutaj będzie podobnie do tego co napisałem smile.gif $.toggle(), np.

  1. $('#clickme').click(function() {
  2. $('#book').toggle('slow', function() {
  3. // Animation complete.
  4. });
  5. });


gdzie #clickme to element, który użytkownik klika, aby się coś rozwineło i teraz tam gdzie masz #book to jest ten div, który chcesz wyświetlić użytkownikowi i tyle. Zacznij od zaprojektowania prostego schematu w html'u najpierw, a potem się tym pobaw, ale z grubsza tak to będzie wyglądać. Od Ciebie zależy jak to będzie wyglądało, mechanizm działa tak, że po kliknięciu pojawi się div, po kolejnym schowa.


--------------------
Go to the top of the page
+Quote Post
Micchaleq
post 13.02.2012, 10:54:29
Post #5





Grupa: Zarejestrowani
Postów: 186
Pomógł: 4
Dołączył: 13.10.2009

Ostrzeżenie: (0%)
-----


W takim razie dziś sie tym pobawie, aktualnie dziękuje za pomoc jak cos napiszę to pokaże, pewnie będa błędy więc hmmm wink.gif

Witam, muszę trochę odświeżyć temat, ponieważ mam jedno pytanie.

Zrobiłem juz sobie efekt który chciałem, jednak mam problem z pewnym mankamentem.

Otóż moje menu przylatuje mi z lewej strony ekranu zamiast się rozwijać. Jak temu zaradzić?

oto moje css:
  1. #win_menu_bot{
  2. position: absolute;
  3. margin: -10px 0px 0px 783px;
  4. background-color: #e0d5c7;
  5. width: 215px;
  6. height: 20px;
  7. display: none;
  8. }
  9. #win_menu{
  10. position: absolute;
  11. top: -510px;
  12. left: 498px;
  13. background-color: #e0d5c7;
  14. width: 500px;
  15. height: 500px;
  16. display: none;
  17. z-index: 1000;
  18. }


i js

  1. $(".seo").click(function()
  2. {
  3. if(menu != "seo"){
  4. hide();
  5. $('#seo_menu_bot').toggle('slow', function(){});
  6. $('#seo_menu').toggle('slow', function(){});
  7. menu = "seo";
  8. }else{
  9. $('#seo_menu_bot').toggle('slow', function(){});
  10. $('#seo_menu').toggle('slow', function(){});
  11. menu = "seo";
  12. }
  13. }
  14. );


Ten post edytował Micchaleq 13.02.2012, 10:55:34


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:28