webForumDet fria alternativet

Stoppa Css funtion i jquery??

4 svar · 660 visningar · startad av linu

linuMedlem sedan feb. 20142 inlägg
#1

Hej, är helt ny inom webbutveckling och har precis gett mig in på jquery.
En del utav dem effekter jag lagt in via jquery förstörs av dem animationer jag har gjort i CSS som tex:

$('.box').hover(function() {
       $(this).animate({opacity: 1}, 600)

Men eftersom en del användare inte har java eller blockerat det så vore det ju väldigt uppskattat att funktionerna(hemsidan) fungerade även utan Jquery där av CSS, men hur stoppar jag då dessa i Jquery?
Hoppas det gick att tolka min luddiga förklaring!

voigtann1Medlem sedan juni 20019 519 inlägg
#2

sätt en klass i bodyn eller något om du inte har javascript igång så har du kanske:

.no-js .box { opacity: 1}

och när javascript(jquery) är igång så kör du:

$("body").removeClass("no-js");
linuMedlem sedan feb. 20142 inlägg
#3

Men om jag förstår det rätt så finns det alltså ingen funktion i Jquery som stoppar alla css animationer automatiskt?

voigtann1Medlem sedan juni 20019 519 inlägg
#4

om de har stängt av javascript på sin webbläsare (inte java) så kommer aldrig något javascript köras (jquery är ju bara javascripts kod).

cascaMedlem sedan feb. 20005 891 inlägg
#5

Du kan använda dig av Modernizr för att "detecta" vilka features och funktioner som inte finns tillgänglig i webbläsaren hos användaren. Modernizr gör detta genom att sätta just klasser, så du behöver sen bara skapa fallbacks (som voigtann1s lösning) i CSS.

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)