Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] W jaki sposób "ukryć" aktywny button?
swiezak
post
Post #1





Grupa: Zarejestrowani
Postów: 159
Pomógł: 0
Dołączył: 21.08.2011

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


Mam problem z napisaniem skryptu, który byłby odpowiedzialny za "ukrywanie" aktywnego buttona po najechaniu kursorem myszki na inny button.
Na stronie http://webgroup.pl/polyvision/web/ można zaobserwować w górnym menu efekt, który pozwala poszczególnym buttonom przypisać atrybut :hover po najechaniu na nie kursorem myszki oraz atrybut active po kliknięciu. Chciałbym, aby np. po wybraniu działu 'O nas' najechanie kursorem myszki na sąsiedni button (przykładowo 'Kontakt') spowodował, że 'O nas' nie będzie podświetlony. W jaki sposób za pomocą skryptu to wykonać?

Fragmenty kodu:

HTML:
  1. <div id="TopMenuJS">
  2.  
  3. <dl id="menu1" class="link4">
  4.  
  5. <dt><a href="index.html" title="Strona główna"><span class="menu_space">Strona główna</span></a></dt>
  6.  
  7. <dt><a href="o-nas.html" title="O nas"><span class="menu_space">O nas</span></a></dt>
  8.  
  9. <dt><a href="aktualnosci.html" title="Aktualności"><span class="menu_space">Aktualności</span></a></dt>
  10.  
  11. <dt><a href="pobierz-pdf.html" title="Pobierz PDF"><span class="menu_space">Pobierz PDF</span></a></dt>
  12.  
  13. <dt><a href="standardy.html" title="Standardy"><span class="menu_space">Standardy</span></a></dt>
  14.  
  15. <dt><a href="kontakt.html" title="Kontakt"><span class="menu_space">Kontakt</span></a></dt>
  16.  
  17. </dl>
  18.  
  19. </div>
  20.  
  21. <script type="text/javascript">
  22. // <![CDATA[
  23. new Menu('menu1', '', false, false, 100, 0);
  24. // ]]>
  25. </script>


CSS:
  1. .menu_space {
  2. display: block;
  3. padding: 2px 0 0 0;
  4. }
  5.  
  6. #TopMenuJS {
  7. float: left;
  8. margin-top: -43px;
  9. padding-left: 50px;
  10. width: 941px;
  11. height: 43px;
  12. overflow: hidden;
  13. position: relative;
  14. /*border: 1px solid red;*/
  15. }
  16.  
  17. #menu1 dt {
  18. float: left;
  19. width: 141px;
  20. height: 43px;
  21. line-height: 43px;
  22. display: block;
  23. cursor: pointer;
  24. }
  25.  
  26. #menu1 dt.active, #menu1 dt.active a {
  27. color: #45ddf5;
  28. background: #000 url('../images/top/menu_top_btn_on.jpg') no-repeat center top;
  29. }
  30.  
  31. #menu1 dt a:hover {
  32. background: #000 url('../images/top/menu_top_btn_on.jpg') no-repeat center top;
  33. }
  34.  
  35. .link4, .link4 a:link, .link4 a:visited {
  36. display: block;
  37. font-size: 15px;
  38. color: #9d9d9d;
  39. font-weight: normal;
  40. text-decoration: none;
  41. }
  42.  
  43. .link4 a {
  44. text-decoration: none;
  45. }
  46.  
  47. .link4 a:hover {
  48. color: #45ddf5;
  49. text-decoration: none;
  50. }


Próbuję za pomocą poniższego skryptu usunąć atrybut 'active', ale nie działa:
  1. <script type=\"text/javascript\">
  2. // <![CDATA[
  3. $(document).ready(function(){
  4. $(\"#menu1 dt. a\").removeClass(\"active\");
  5. });
  6. // ]]>
  7. </script>


Prosiłbym o jakąś wskazówkę, w jaki sposób rozwiązać wyżej wymieniony problem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


To nie <a>, a <dt> ma ustawioną klasę 'active';
Kod
$('#menu1 dt.active').removeClass("active");
Go to the top of the page
+Quote Post
swiezak
post
Post #3





Grupa: Zarejestrowani
Postów: 159
Pomógł: 0
Dołączył: 21.08.2011

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


'Fucktycznie', pomyliłem selektory.
Tylko teraz pytanie, jak zrobić aby atrybut active dla dt był usuwany po nakierowaniu kursorem myszki na pozostałe buttony? Nie jestem dobry w jQuery, więc proszę o wyrozumiałość.

Ten post edytował swiezak 19.09.2011, 22:08:24
Go to the top of the page
+Quote Post
kamil4u
post
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


http://api.jquery.com/hover/
W pierwszej funkcji usuwasz i zapamiętujesz co usunąłeś, w drugiej z powrotem ustawiasz klasę 'active' odpowiedniemu(zapisanemu) elementowi.

Ten post edytował kamil4u 19.09.2011, 22:09:35
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 17.09.2025 - 17:37