Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Wyświetlenie/uaktywnienie menu dopiero po załadowaniu strony
gabhel
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.11.2010

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


Zbudowałem stronę, której nawigacja oparta jest na skrypcie Ajax pozwalającym wczytywać zawartość podstron do div.
Wszystko działa super, pojawia się jednak jeden problem. Skrypt działa dopiero po pełnym załadowaniu strony. Jeśli ktoś kliknie w link menu przed jej pełnym załadowaniem (jest na niej kilka elementów flash więc nie wczytuje się błyskawicznie), skrypt nie zadziała.

Chciałbym np. opóźnić wyświetlenie menu do czasu aż cała strona się załaduje, albo zrobić tak, żeby linki były aktywne dopiero wtedy.

Ma ktoś na to jakiś pomysł?

Ten post edytował gabhel 10.12.2010, 09:04:50
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Kod
$('div.klasa1').removeAttr('disabled');


W nawiasie wpisujesz odwołania analogiczne do css (div znaczy wszyskie divy, kropka klasy, # id itd.).


Bez JS menu będzie nieaktywne i dobrze bo skoro korzystasz potem z Ajaxa to i tak by nic nie zobaczył.
Dodaj odpowiednią adnotacje na czerwono gdy ktoś ma wyłączony JS.

Ten post edytował markonix 10.12.2010, 12:19:56
Go to the top of the page
+Quote Post
gabhel
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.11.2010

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


Cytat(markonix @ 10.12.2010, 12:18:56 ) *
Kod
$('div.klasa1').removeAttr('disabled');

Bez JS menu będzie nieaktywne i dobrze bo skoro korzystasz potem z Ajaxa to i tak by nic nie zobaczył.


Dzięki za podpowiedź, ale co do powyższego to właśnie nie do końca, bo jeśli ktoś ma wyłączony JS, to skrypt na mojej stronie nie zadziała, ale nawigacja będzie możliwa awaryjnie przez zwyczajne otwieranie linków a href, tyle, że nie będzie to do końca wygodne.


No, chyba mi się udało zrobić to co chciałem:

Kod
$(document).ready(function() {

     $("#menu, #footer_left").attr('style', 'visibility: hidden;');
   });
  
   $(window).load(function() {
       $("#menu, #footer_left").removeAttr("style");
   });
</script>


W każdym razie działa, jak oceniacie poprawność tego?
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 12:29