Avatar billede webstuff Nybegynder
13. april 2006 - 19:17 Der er 17 kommentarer og
2 løsninger

Problemer med fade in funktion (iframe)

Hejsa

Jeg har prøvet at lave en "fade in" funktion på et iframe.
Men det virker sgu ikke rigtigt:-(

Nogen der kan hjælpe?

-------------------------------------------------------
<html>
<head>
<style>
.knap{
    display:inline;
    width:auto;
    cursor:pointer;
    border:1px solid #000;
}
</style>
<script type="text/javascript">
var counter = 0;
var mozilla = 10;
var explorer = 100;
function ChangeIframe(page){
    var iframe = document.getElementById("FadeIframe");
   
    if(counter<=10){
        mozilla = mozilla-0.1;
        explorer = explorer-10;
        iframe.style.MozOpacity= ""+filter+"";
        iframe.style.filter = "progid:DXImageTransform.Microsoft.Alpha(Opacity="+explorer+")";
        counter++
        windows.setInterval("ChangeIframe();", 100);
    } else {
        iframe.src = "side2.html";
    }
}
</script>
</head>
<body>
    <div class="knap" onClick="ChangeIframe('iframe.html');">Side 1</div>
    <div class="knap" onClick="ChangeIframe('side2.html');">Side 2</div>
        <br /><br />
    <iframe src="iframe.html" id="FadeIframe"></iframe>
</body>
</html>
---------------------------------------------
Avatar billede roenving Novice
13. april 2006 - 19:40 #1
.filter skal du bruge med forsigtighed (for det lægger alle browsere ned med undtagelse af IE !-), og i IE skal du bruge:

if(iframe.filters)
  iframe.filters.alpha.opacity = newOpacity;

-- til andre kan du f.eks.

iframe.style.MozOpacity = newOpacity/100;
iframe.style.KhtmlOpacity = newOpacity/100;
iframe.style.opacity = newOpacity/100;
Avatar billede webstuff Nybegynder
13. april 2006 - 20:00 #2
Hvad er newOpacity?
Avatar billede roenving Novice
13. april 2006 - 20:13 #3
Den nye værdi, f.eks.

<script type="text/javascript">
var op = 100;
function ChangeIframe(page){
    var iframe = document.getElementById("FadeIframe");
    op -= 10;
    if(op>=0){
      if(iframe.filters)
        iframe.filters.alpha.opacity = op;
      iframe.style.MozOpacity = op/100;
      iframe.style.KhtmlOpacity = op/100;
      iframe.style.opacity = op/100;
      setInterval("ChangeIframe();", 100);
    } else {
        iframe.src = page;
    }
}
</script>
Avatar billede webstuff Nybegynder
14. april 2006 - 13:05 #4
Den siger:
sti/til/fil/undefined er ikke defineret, kontroller venligst stien.
Avatar billede webstuff Nybegynder
14. april 2006 - 19:04 #5
Det er som om at variablen "page" ikke bliver defineret når setInterval() køres...?
Avatar billede mclemens Nybegynder
15. april 2006 - 00:04 #6
sådan?

<html>
<head>
<style>
.knap{
    display:inline;
    width:auto;
    cursor:pointer;
    border:1px solid #000;
}
</style>
<script type="text/javascript">

var op = 100;

function ChangeIframe(page){
    var iframe = document.getElementById("FadeIframe");
    op -= 10;
    if(op>=0){
      if(iframe.filters)iframe.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+op+")";
      iframe.style.MozOpacity = op/100;
      iframe.style.KhtmlOpacity = op/100;
      iframe.style.opacity = op/100;
      setTimeout("ChangeIframe('"+page+"');", 100);
    } else {
    iframe.src = page;
    fadeup();
    }
}

function fadeup(){
iframe=document.getElementById("FadeIframe");
op+=10;
if(op<=100){
  if(iframe.filters)iframe.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+op+")";
  iframe.style.MozOpacity = op/100;
  iframe.style.KhtmlOpacity = op/100;
  iframe.style.opacity = op/100;
  setTimeout("fadeup();", 100);
}
}

</script>
</head>
<body>
    <div class="knap" onClick="ChangeIframe('2.html');">Side 1</div>
    <div class="knap" onClick="ChangeIframe('3.html');">Side 2</div>
        <br /><br />
    <iframe src="iframe.html" id="FadeIframe"></iframe>
</body>
</html>
Avatar billede mclemens Nybegynder
15. april 2006 - 00:06 #7
hmm, det kan godt det har en bedre effekt (synsmæssig) hvis fadeup fjernes fra function ChangeIframe(page){ og sættes ind i iframe tagget som her:

<iframe onload="fadeup();" src="iframe.html" id="FadeIframe"></iframe>
Avatar billede mclemens Nybegynder
15. april 2006 - 00:10 #8
hmm, det kan godt det har ... -> Hmm, det kan godt være, at det har ...
Avatar billede mclemens Nybegynder
15. april 2006 - 00:50 #9
rettede også setInterval til en setTimeout...
setInterval blev jo ikke clearet - så det var en uendelig løkke...
Avatar billede mclemens Nybegynder
15. april 2006 - 09:36 #10
og i et script:

<html>
<head>
<style>
.knap{
    display:inline;
    width:auto;
    cursor:pointer;
    border:1px solid #000;
}
</style>
<script type="text/javascript">

o=100;

function fade(p,t){
i=document.getElementById("FadeIframe");
o=(t==0)?o-10:o+10;
if(((o>0)&&(t==0))||((o<100)&&(t==1))){
  if(i.filters)i.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+o+")";
  i.style.MozOpacity = o/100;
  i.style.KhtmlOpacity = o/100;
  i.style.opacity = o/100;
  setTimeout("fade('"+p+"','"+t+"');", 100);
}else if(p!=""){
  i.src=p;
}
}

</script>
</head>
<body>
    <div class="knap" onClick="fade('2.html',0);">Side 1</div>
    <div class="knap" onClick="fade('3.html',0);">Side 2</div>
        <br /><br />
    <iframe onload="fade('',1);" src="2.html" id="FadeIframe"></iframe>
</body>
</html>
Avatar billede webstuff Nybegynder
16. april 2006 - 11:49 #11
Mange tak for det clemens, har dog ikke lige tid til at kigge på det lige nu, men jeg vender tilbage :-)
Læg evt. et svar med det samme, så kan jeg altid afvise hvis det ikke virker..

God påske!
Avatar billede mclemens Nybegynder
16. april 2006 - 12:01 #12
[ Læg evt. et svar med det samme, så kan jeg altid afvise hvis det ikke virker.. ]
Ok, roenving lægger du ikke lige et også, så deler vi, hvis det virker...

[ God påske! ]
- I lige måde :)
Avatar billede roenving Novice
17. april 2006 - 07:38 #13
Oki '-)
Avatar billede webstuff Nybegynder
17. april 2006 - 22:28 #14
Nu får i sgu bare pointene - jeg stoler på jer i tager jo sjældent fejl ;o)
Avatar billede mclemens Nybegynder
17. april 2006 - 22:42 #15
hehe ... :P ellers får du dem lige tilbage ;)
Avatar billede mclemens Nybegynder
17. april 2006 - 22:43 #16
- og tak for point :)
Avatar billede mclemens Nybegynder
18. april 2006 - 01:57 #17
og karma :)
Avatar billede webstuff Nybegynder
18. april 2006 - 18:45 #18
Selv tak ;-)
Avatar billede roenving Novice
23. april 2006 - 02:54 #19
-- også jeg takker ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester