Till Startsidan

Skaffa webbhotell?
Läs JavaScript.nu's jämförelse av webbhotell.
Med priser från
9 kr / månad.

Genom ett samarbete får alla JavaScript.nu-
besökare dessutom 100 kr i rabatt vid beställning.


Re: Iframe med Javascript

[ JavaScript.nu's Forum ] [ Viktigt om forumet ] [ JavaScript.nu's Startsida ]


Forum / Iframe med Javascript
 Här händer det grejor...

Vi testar scripten på den här enkla sidan istället så blir det enklare att felsöka: http://www.demomix.se/demofiler/produkterny.html


/Erik

 
Hej Simon!

Har testat, men upplever inte någon skillnad, är detta en väldigt subtil fade eller måste jag ställa in parametrar innan det syns?

Frågor:

Ska fadepage.js vara oförändrad?

Ska javascripten läggas I iframen? dvs mellan <iframe> och </iframe>? eller ska den läggas på sidan som innehåller iframen? Eller på subsidorna? har testat allt!

I onbeforeunload="", ska jag skriva in något i "" eller bara låta det vara? Ska jag ersätta något med denna kod eller lägga den utöver?


/Erik



 
Jo, det går, även om det blir lite klumpigt. Jag har faktiskt gjort detta tidigare, så med lite ändringar ser koden ut så här för att få det att fungera. I nuvarande formen fungerar koden endast med fria sidor (dvs. inte frames), men det borde vara ganska enkelt att ordna. Jag har försökt kommentera de ställen där detta kan fixas.

fadepage.js:

$_GET=[];
var searchp=location.search.substr(1).split("&");
for(var i=0;i<searchp.length;++i){
var tmpp=searchp[i].split("=");
$_GET[unescape(tmpp[0])]=unescape(tmpp[1]);
}

function setOpacity(obj,value){
if(typeof obj.style.opacity!="undefined")obj.style.opacity=value/100;
else if(typeof obj.style.MozOpacity!="undefined")obj.style.MozOpacity=value/100;
else if(typeof obj.style.filter!="undefined")obj.style.filter="alpha(opacity="+(value)+")";
}

whitescreen=null;

function fade(obj,from,to,steps,speed,callback){
setOpacity(obj,from);
for(var i=from+1;i<to;i+=steps){
(function(){var op=i;setTimeout(function(){setOpacity(obj,op);},(op-from)*speed);})();
}
for(var i=from-1;i>to;i-=steps){
(function(){var op=i;setTimeout(function(){setOpacity(obj,op);},(from-op)*speed);})();
}
setTimeout(function(){setOpacity(obj,to);},(Math.abs(to-from))*speed);
if(typeof(callback)!="undefined"){
setTimeout(callback,(Math.abs(to-from)+1)*speed);
}
}

blockall=false;
function fadeToLoc(loc){
blockall=true;
whitescreen.style.visibility="visible";
var toloc=loc+(loc.indexOf("?")!=-1?"&":"?")+"fade=yes";
var f=function(){if(typeof window.onbeforeunload=='undefined')whitescreen.style.visibility="hidden";location=toloc;}
fade(whitescreen,0,100,4,10,f);
}

function capLinks(){
if(!blockall)fadeToLoc(this.href);
return false;
}

function initFade(){
whitescreen=document.createElement("div");
whitescreen.style.position="absolute";
whitescreen.style.visibility="hidden";
whitescreen.style.top="0px";
whitescreen.style.left="0px";
whitescreen.style.width="100%";
whitescreen.style.height="100%";
whitescreen.style.backgroundColor="white";
document.body.appendChild(whitescreen);
var links=document.getElementsByTagName("a");
for(var i=0;i<links.length;++i){
links[i].onclick=capLinks;
}
if($_GET['fade']=='yes'){
whitescreen.style.visibility="visible";
fade(whitescreen,100,0,4,10,function(){whitescreen.style.visibility="hidden";});
}
}

window.onload=initFade;


På sidorna som ska fade:as (dvs. framen):
Inom <head>:
<script type="text/javascript" src="fadepage.js"></script>
I body-taggen:
onbeforeunload=""
(t.ex. <body onbeforeunload="">).

onbeforeunload är en skum tagg som helt enkelt har till effekt att ladda om sidan när användaren kommer tillbaka. Utan blir antingen sidan vit när användaren återvänder eller så uppstår konstiga effekter när sidan byts.

Hoppas det fungerar korrekt!

Simon

 
Hade tänkt snygga till min iframe genom att låta alphan på innehåll.1 fada ut och sedan in med innehåll.2 när man klickar på respektive länk. Detta måste gå att göra i Javascript. Har gjort en enkel testsida här där jag ska laborera med detta: http://www.demomix.se/Demomix.se/produkterny.html

De fyra länkarna är: Mixning, Mastring, Konsultering och Priser. Under länkarna finns en iframe. Varje länk går till en sida med iframen som target. Nu vill jag att som sagt att innehållet i framen fadar ut från en sida och in till en annan för att göra upplevelsen lite mjukare.

Förslag?

/Erik


Postat av Erik Wiss (83.249.213.205) den 12 Mars, 2009 kl 20:39:57.
Som svar på: Re: Iframe med Javascript postat av Erik Wiss den 12 Mars, 2009 kl 20:27:48.


Svar på inlägget:


Posta ett svar:

Namn:
E-Mail:
Rubrik:
Meddelande:
Ja tack, maila mig om andra svarar på detta inlägg.
Ja tack, maila mig om andra svarar på mitt inlägg.


[ JavaScript.nu's Forum ] [ Viktigt om forumet ] [ JavaScript.nu's Startsida ]






Copyright © Omid Rouhani 1997-2022; Alla rättigheter reserverade.
Guider: [ HTML guide ] - [ JavaScript guide ] - [ DHTML guide ] - [ Perl guide ] - [ Sitemap ]