Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CSS][JavaScript][HTML] Hash Change
Nicc0
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 1
Dołączył: 18.01.2013

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


Witam. Bez owijania w bawełnę. Używam na swojej stronie jquery.ba-hashchange.js z tym, że mam z nim problem. Przechodząc po zakładkach, w kodzie źródłowym (używam chrome) nie podmieniają się klasy i zostaje coś takiego:

  1. <section class="content show" id="home" style="opacity: 0;">
  2. </section>
  3.  
  4. <section class="content hide show" id="shop" style="opacity: 0;">
  5. </section>
  6.  
  7. <section class="content hide show" id="stats" style="opacity: 0;">
  8. </section>
  9.  
  10. <section class="content hide show" id="map" style="opacity: 1;">
  11. </section>


  1. .show{display: block;}
  2. .hide{opacity: 0;}


Kombinowałem na rożne sposoby: z-index, visibility. Ale stwierdziłem, że tu leży wina po stronie js'a. I chciałem za pomocą .removeClass i .toggleClass, ale nie umiem sobie z tym poradzić i muszę szukać pomocy u was. Z góry dzięki.
Go to the top of the page
+Quote Post
lobopol
post
Post #2





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Pokaż jakiś kod, bo na razie mamy tylko html. Najlepiej całość na jsfiddle.


--------------------
Go to the top of the page
+Quote Post
Nicc0
post
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 1
Dołączył: 18.01.2013

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


Bardzo prosze smile.gif http://jsfiddle.net/R77AH/15/

Dodam jeszcze w sumie najwazniejsze czyli main.js

  1. jQuery(document).ready(function() {
  2.  
  3. /* How to Handle Hashtags */
  4. jQuery(window).hashchange(function(){
  5. var hash = location.hash;
  6. jQuery('a[href='+hash+']').trigger('click');
  7. });
  8.  
  9. /* Main Navigation Clicks */
  10. jQuery('.main-nav ul li a').click(function() {
  11. var link = jQuery(this).attr('href').substr(1);
  12.  
  13. if ( !jQuery('section.content.show, section#' + link).is(':animated') ) {
  14. jQuery('.main-nav ul li a').removeClass('active'); //remove active
  15. jQuery('section.content.show').addClass('show').animate({'opacity' : 0}, {queue: false, duration: 1000,
  16. complete: function() {
  17. jQuery('a[href="#'+link+'"]').addClass('active'); // add active
  18. jQuery('section#' + link).addClass('show').animate({'opacity' : 1}, {queue: false, duration: 1000});
  19. }
  20. });
  21. }
  22. });
  23.  
  24. });


Ten post edytował Nicc0 27.10.2013, 19:23:39
Go to the top of the page
+Quote Post
lobopol
post
Post #4





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Kod robi dokładnie to co mu kazałeś, nigdzie nie usuwasz klas show tylko je dodajesz, a opacity w kodzie ci zostanie chyba, że będziesz po skończeniu animacji usuwał zawartość atrybutu style ( co mija się z celem)


--------------------
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 Aktualny czas: 21.08.2025 - 19:41