bassebhuMedlem sedan nov. 20014 028 inlägg Hej alla glada!
Jag vill att min #content-div ska fadas in på varje sida. Det löser jag enkelt med $('#content').fadeIn(1500); men det kräver att jag har dolt den först med display: none; i css:en, vilket inte känns så snyggt eftersom den då inte blir synlig alls om man stänger av javascript.
Att sätta $('#content').hide().fadeIn(1500); gör å sin sida att den dyker upp en microsekund först och sedan göms och fadas in, vilket inte heller är önskvärt. Går det att komma runt på nåt vis?
Kan förresten fadeIn() visa ett element som är satt till visibility: hidden? Jag får det inte att funka nämligen. Men det vore nice så att den redan innan tar så mycket utrymme som den behöver.
Och sista frågan. Om man använder jQuery UI och slide() med direction down så att en div slideas upp från botten, går det att se till så att inte scrollbarsen dyker upp för att den behöver mer space för att flytta diven längre ner och sedan upp (kort mening hehe)? Jag förstår varför scrollen åker med i animationen, men det är inte önskvärt :) För det finns väl ingen funktion som kör en sådan slide utan att behöva ta plats under? Svårt att beskriva men ni fattar nog :)
Tack!
bassebhu skrev:
Jag vill att min #content-div ska fadas in på varje sida. Det löser jag enkelt med $('#content').fadeIn(1500); men det kräver att jag har dolt den först med display: none; i css:en, vilket inte känns så snyggt eftersom den då inte blir synlig alls om man stänger av javascript.
Jag gissar på att du har din kod i DOM-ready, så den körs när den kan köras, annars är det bara att lägga in skriptet utan DOM-ready och kör den så fort din #content finns:
<div id="content">innehåll</div>
<script type="javascript">$("#content").hide().fadeIn(1500);</script>
Altenativ är att lägga liknande kod högre upp exempelvis i din html (kolla http://html5boilerplate.com/) eller i body där du sätter en css klass OM javascript är aktiverat, på så sätt så kan du köra det på fler än bara #content.
bassebhuMedlem sedan nov. 20014 028 inlägg Sweet, det verkar faktiskt ha gjort susen!
Tog bort det från DOM-ready och satte det efter content-diven.
Har testat boilerplaten tidigare, men tyckte att det var så mycket lull-lull och fördefinerat så jag orkade inte, men den är säkert bra!
Tack!
boilerplate är ett exempel (för övrigt är det sjukt bra saker som finns där)
men, ha ditt dokument som det är och om du det finns JS, lägg in en klass på html:
<html>
<body>
<loadjquery>
<script type="javascript">
$("html").addClass("js");
</script>....
och i din CSS:
.js #content {display: none;}
på så sätt om du har #nav eller liknande du vill göra något när JS är aktiverad och något annat om det inte är det så slipper du göra det på varje element. mycket smartare ;)