| Jo, det är just som du menar som jag har tänkt mig, problemet är snarare med buggar :/ I det här fallet verkar ändå lösningen ganska enkel; byt ut var f=function(){gotoLoc(loc);}; //Använder extern function istället mot var f=function(){gotoLoc(toloc);}; //Använder extern function istället Felet är helt enkelt ett typo, som öppnar sidan utan fade (med rätt kod ska ?fade=yes läggas till, och när en sida med ?fade=yes laddas ska en fade-in-effekt ske). Jag är ganska säker på att detta borde fungera, då man FÅR fram den korrekta effekten genom att - även utan bugfixen - länka direkt till "sidan.html?fade=yes". Förresten kanske jag ska förklara var fading-parametrarna ska ändras. Raden: fade(whitescreen,100,0,4,10,function(){whitescreen.style.visibility="hidden";}); är fade-in-anropet. Det första argumentet är vad som ska visas (whitescreen är ett svart (ursprungligen vit) div som täcker hela framen), det andra är var faden ska börja (100%), det tredje slutet (0%), det fjärde är hoppen som ska göras (uppdatera bara fade:en var 4:e procent - för prestanda) det femte är hastigheten (10 millisekunder per procent * |(100-0)| = 1000 ms = 1 sekund. T.ex. för att få en halv sekund ska du alltså halvera värdet), och det sjätte är functionen som ska köras efter faden (i det här fallet ska divet försvinna för att man ska kunna använda sidan. När jag tänker på det, skulle man faktiskt kunna lägga till en blockning i fade-in:en. Lägg då till "blockall=false;" i callbackfunction: fade(whitescreen,100,0,4,10,function(){whitescreen.style.visibility="hidden";blockall=false;}); och lägg till blockall=true; på raden framför. Då slipper du att sidan ändras medans den fade:as, vilket kan ge grafiska fel. Fade-outen är på liknande sätt fade(whitescreen,0,100,4,10,f); Alltså: divet ska fade:as från 0% till 100% med ett hopp på 4% på tiden 1 sekund (10ms*|(0-100)| = 10ms * 100 = 1000ms = 1 sekund) och "f" ska köras efter (där f är en lokal function, som helt enkelt öppnar den andra sidan). Hoppas det är förståeligt, och fungerar :) Simon | Hejsan! Nu är "visited" problemet löst. Men antingen har du missförstått mig eller så är det fortfarande fel, jag vill att det även ska fadas IN, alltså en fade-out på 1 sekund följt av en fade-in på 1 sekund. Så att det fadas åt båda hållen, nu blir det ju lite plötsligt när nya sidan kommer och inte lika mjukt som om framen hade fadat tillbaks också. Förstår du? Tack!! /Erik | Vad bra! Scriptet som jag använder är faktiskt inställt så att det ska gå till svart och sedan tillbaka, och att det ska ta ca 2 sekunder. Felet verkar istället vara en bug: när länkarna klickas öppnas sidorna som vanligt, och ingen hänsyn till fading finns (dock hinner faden påbörjas). Lösning bör vara enkel; byt ut links[i].onclick=function(){pwin.frames['prodruta'].capLinks(this.href);} mot links[i].onclick=function(){pwin.frames['prodruta'].capLinks(this.href);return false;} , vilket får länken att öppnas genom fading-kontrollen istället på vanligt sätt. Detta borde fungera ;) Simon | Nu händer det något iallfall! Dock verkar det som effekten försvinner när länken blivit besökt. Kolla själv! Ang själva effekten: hur gör jag för att den ska fada till helt svart och sedan från helt svart till full alpha på nästa sida? Måste ställa in lite ser det ut som. Faden bör ta ca 2 sekunder totalt. En sekund åt varje håll. Tackar! /Erik | Det ser bra ut det du skrivit, felet är i min kod ser jag nu. Jag skrev: function(){frames['prodruta'].capLinks(this.href);} vilket ger fel eftersom den lokala varianten av 'frames' överlagrar variabelnamnet (sk. closure), vilket jag inte tänkt på alls. Prova att byta ut hela for-loopen runt det från for(var i=0;i<links.length;++i){ if(links[i].href.charAt(0)!='#') links[i].onclick=function(){frames['prodruta'].capLinks(this.href);} } till var pwin=parent; for(var i=0;i<links.length;++i){ if(links[i].href.charAt(0)!='#') links[i].onclick=function(){pwin.frames['prodruta'].capLinks(this.href);} } Om jag inte har fel (men det har jag antagligen) så borde det fungera. Simon | Menar du något speciellt med "ombytta länkar"? i "och lägga de ombytta länkarna i en <div id="container">." Nu jag jag lagt containerdiv:en runt om mixning, mastring, konsultering och pris-länkarna på huvudsidan där iframen finns. Rätt? | Har rättat till allt nu. Dock är det stendött! Ang ";" iweb genererar sådana automatiskt efter bodyelementen, förutom den sista då. Är det bäst att köra utan helt och bara ha mellanrum mellan elementen? /Erik |
|
|
|
|
|
|