Avatar billede jerome Nybegynder
24. april 2002 - 09:30 Der er 8 kommentarer

visible / hidden event

Er der nogen måde man kan fange en even når et document bliver visible eller hidden - altså en slags onvisible event ?
Avatar billede atn Nybegynder
24. april 2002 - 09:34 #1
nope...det er der ikke

Så skal du lave en function der løber dine lag igennem og checker...

Jeg går ud fra det er lag du mener ?

Venligst

<ATN/>
Avatar billede jerome Nybegynder
24. april 2002 - 09:48 #2
ja og nej - det er en iframe. Problemet er hvornår skal jeg checke min iframe for om den er visible (så jeg kan sætte focus på et text input felt)?. Det virker lidt tamt at have en timer eller en "onmouseover window" til at checke.
Avatar billede atn Nybegynder
24. april 2002 - 10:03 #3
Heysa !

Prøv med denne lille test...

Venligst

<ATN/>

************| CODE START |************

<html>
<head>
<style type="text/css">
#myframe {
    visibility : hidden;
}
</style>
<script language="javascript" type="text/javascript">
function toggle() {
    objFrame = document.getElementsByTagName('iframe');
    for (var i = 0; i < objFrame.length; i++) {
        if (objFrame[i].style.visibility == 'visible') {
            objFrame[i].style.visibility = 'hidden';
        } else {
            objFrame[i].style.visibility = 'visible';
        }
    }
}

function checkVisibility() {
    objFrame = document.getElementsByTagName('iframe');
    for (var i = 0; i < objFrame.length; i++) {
        if (objFrame[i].style.visibility == 'visible') {
            alert('Din IFRAME er synlig...')
        } else {
            alert('Din IFRAME er ikke synlig...')
        }
    }
}
</script>
</head>
<body>
    <iframe name="myframe" id="myframe" src="test.html"></iframe>
    <br>
    <input type="Button" onclick="checkVisibility()" value="Check om min iframe er visible"/>
    <input type="Button" onclick="toggle()" value=" Toggle "/>   
</body>
</html>
Avatar billede jerome Nybegynder
24. april 2002 - 10:11 #4
Hejhej

Det eksempel kræver jo en fysisk indsats fra brugeren (klik på noget som checker visibility) ;o)
Så den nærmeste løsning ville være onmouseover på documentet fordi den vil i de fleste tilfælde være over documentet - hvor jeg så automatisk kunne checke visibility og hvis siden var visible så sætte focus på mit text input felt.
Avatar billede atn Nybegynder
24. april 2002 - 10:15 #5
Jeg tror ikke helt jeg forstår hvad det er der skal ske så ?

Hvornår bliver den synlig ? - skal brugeren gøre noget ? - eller hvad ?

venligst

<ATN/>
Avatar billede jerome Nybegynder
24. april 2002 - 10:30 #6
Fil #1: (tst01.htm)
<html>
<head>
<SCRIPT FOR="myIframe" EVENT="onload" LANGUAGE="JScript">
//når myIframe er loaded sæt den visible.
//Eftersom man ikke "herude" fra kan kalde JS funktioner
//inde i iframen skal jeg inde i iframen finde ud af hvornår
//den bliver sat visible "herude"
  document.getElementById("myIframe").style.visibility = "visible";

//ellers kunne jeg bare efterfølgende her sige
//document.getElementById("myIframe").myTextFelt.focus();
//men det bliver jeg nød til i myIframe og det kan jeg ikke før visible == true.
</SCRIPT>
</head>
<body>
    <iframe id="myIframe" style="position:relative; visibility:hidden;" src="tst02.htm" FRAMEBORDER="1" MARGINWIDTH="1" MARGINHEIGHT="1" scrolling="yes"></iframe>
</body>
</html>

Fil #2: (tst02.htm)
<html>
<head>

</head>
<body>
<!-- det her skal have focus når Fil #1 har sat Fil #2 visible-->
<input type="text" name="myTextFelt" value="">
</body>
</html>

Venlig hilsen
Jerome
Avatar billede Slettet bruger
24. april 2002 - 19:28 #7
Jeg forstår ikke, hvorfor du ikke bare kan gøre det "udefra":

document.getElementById("myIframe").document.formNavn.myTextFelt.focus();

Husk at have form-tags rundt om dit felt!
Avatar billede Slettet bruger
24. april 2002 - 19:29 #8
Og hvis det ikke virker, så sæt et name på din iframe og gør således:

document.myIframeNavn.document.formNavn.myTextFelt.focus();
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