[Javascript] Frameset veranderen

Pagina: 1
Acties:

  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05-2025

cappie

all lowercase

Topicstarter
Hoe kan ik met Javascript de instellingen van een frameset veranderen?

Wat ik probeer na te bouwen in HTML is zo'n zelfde manier van openen van een webpage als het opstarten van Enlightment onder (bijv.) Linux.
code:
1
2
3
4
5
<frameset rows="*,0,*">
  <frame src="top.html" scrolling="no">
  <frame src="main.php" scrolling="auto">
  <frame src="bottom.html" scrolling="no">
</frameset>

Wat ik dus wil proberen is om met javascript NA het laden van de pagina frameset ( <frameset onload="javascript:bla();"> ) die *,0,* te veranderen naar *,"+hoogte+",* (waarbij dus 'hoogte' steeds oploopt met een bepaalde formule (om het openglijden van het frame te simuleren))

Heeft iemand wat tips of voorbeelden?

Aspire to inspire before we expire | profiel | systeem


  • whoami
  • Registratie: December 2000
  • Laatst online: 31-08 22:34
Javascript = W&G. Zie de P&W FAQ

P&W -> W&G

https://fgheysels.github.io/


  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05-2025

cappie

all lowercase

Topicstarter
whoami schreef op 08 oktober 2002 @ 14:15:
Javascript = W&G. Zie de P&W FAQ

P&W -> W&G
Hmm.. 't heeft niks met webdesign of graphics te maken, maar met scripting.. maargoed...

Aspire to inspire before we expire | profiel | systeem


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 13:53

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Probeer het eens :)
code:
1
2
3
4
5
6
var i=0;
function frameH(thisframe){
 parent.frames[thisframe].height=i
 i++;
 setTimeout("frameH("+thisframe+")", 10);
}

Leuk, * Thijsmans heeft weer wat om mee te spelen :)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05-2025

cappie

all lowercase

Topicstarter
Prammenhanger schreef op 08 oktober 2002 @ 14:24:
Probeer het eens :)
code:
1
2
3
4
5
6
var i=0;
function frameH(thisframe){
 parent.frames[thisframe].height=i
 i++;
 setTimeout("frameH("+thisframe+")", 10);
}

Leuk, * cappie heeft weer wat om mee te spelen :)
Cool.. effe proberen :)

Aspire to inspire before we expire | profiel | systeem


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 13:53

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Helaas, werkt niet :{
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<html>
<head>
    <title>FrameSleurder</title>
<script type="text/javascript">
var i = 0;
function openFrame(frame){
    if(parent.frames[frame].height < 500){
        i++;
        parent.frames[frame].height = i;
        again = setTimeout("openFrame("+frame+")", 10);
    }
}
</script>
</head>

<body onload="openFrame('boven')">
Dit is het frame dat de pagina opentrekt.


</body>
</html>

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05-2025

cappie

all lowercase

Topicstarter
die bovenstaande werkt wel dan?

Aspire to inspire before we expire | profiel | systeem


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 13:53

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Nee, dat is dezelfde, maar dan wat uitgebreider :)

/edit:

oeps :o
http://developer.irt.org/script/114.htm

Q114 Is it possible to resize a frame by script using resizeTo() or resizeBy() functions or innerHeight properperties?

Once a "window" in frame has been created, it cannot change its own size.

See FAQ #566: How can a form button be used to resize the existing frames
:|

/edit edit:
http://developer.irt.org/script/566.htm

Bill Cressman writes:

You can resize frames in Internet Explorer 4+ by doing this:

JavaScript:
1
this.parent.rows="40,200,*";


Thanks to Luca Passani for the following:

JavaScript:
1
this.parent.setAttribute('rows','40,200,*')
:)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05-2025

cappie

all lowercase

Topicstarter
Thnx voor de hulp, maar 'k heb 't inmiddels al hiermee gedaan:

code:
1
parent.document.body.rows = "240, *"


edit: ah.. ik had JOUW edit nog niet gelezen op de vorige post.. damn edits ook.. moeten ze afschaffen!!! :)

Aspire to inspire before we expire | profiel | systeem


  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05-2025

cappie

all lowercase

Topicstarter
kijk hier voor een demo:

http://new.quickzone.cx/

Aspire to inspire before we expire | profiel | systeem


  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05-2025

cappie

all lowercase

Topicstarter
hee.. wat ik me nu afvraag is het volgende:

Ik probeer een smooth transition te bouwen in javascript, ik heb eigenlijk geen idee hoe ik dat wiskundig gezien moet aanpakken.. 't liefts zou 't mogenlijk moeten zijn voor me om de pixel size in te kunnen vullen, en dat 'ie dan zelf berekend hoe 'ie versneld en afremt enzo.. zoals hieronder:

Afbeeldingslocatie: http://quickzone.cx/files/new.quickzone.cx.gif

Hoe doe ik dit? iemand enig idee? :)

Aspire to inspire before we expire | profiel | systeem


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 13:53

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Zou je misschien voor de grap je site in netscape willen bekijken? :)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Verwijderd

Zou je misschien voor de grap je site in Opera willen bekijken? :)

Zou je misschien voor de grap je site in Mozilla willen bekijken? :)

Oftewel: IE-only ALERT enzo...

  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05-2025

cappie

all lowercase

Topicstarter
okay.. vooruit.. laat ik die 4% van de overige browsers ook een handje helpen:

hebben jullie dan een goed alternatief op de code?

Aspire to inspire before we expire | profiel | systeem


Verwijderd

ik zou geen frames gebruiken die je resized, maar gewooon 2 grijze layers eroverheen knallen die je steeds kleiner maakt, wel leuk effect trouwens

smooth transition: dan denk ik aan een sinus, effe wat wiskunde erbij halen dus
( in plaats van x = 0 tot a, over 1-cos(x*pi/a) als ik het effe goed bedenk nu

  • cappie
  • Registratie: Februari 2000
  • Laatst online: 17-05-2025

cappie

all lowercase

Topicstarter
Verwijderd schreef op 08 oktober 2002 @ 20:57:
ik zou geen frames gebruiken die je resized, maar gewooon 2 grijze layers eroverheen knallen die je steeds kleiner maakt, wel leuk effect trouwens

smooth transition: dan denk ik aan een sinus, effe wat wiskunde erbij halen dus
( in plaats van x = 0 tot a, over 1-cos(x*pi/a) als ik het effe goed bedenk nu
Thnx voor de formule ('k moet em nou nog effe omzetten naar javascript :P)

2 grijze layers? hoe bedoel je? DIV's met dezelfde inhoud als die frames nu van elkaar laten schuiven zodat 't witte daaronder zichtbaar word?

Aspire to inspire before we expire | profiel | systeem


Verwijderd

idd met div's dat kan je best xbrowsercompatible bouwen, geen probleem, gewoon de height van die layer in de tijd kleiner maken, zelfde principe, en dan die bovenste top=0 en de onderste bottom=0 en onload height=clientheight/2, zoiets

  • wicher|IA
  • Registratie: November 2000
  • Laatst online: 10-04-2023
cappie schreef op 08 oktober 2002 @ 20:45:
okay.. vooruit.. laat ik die 4% van de overige browsers ook een handje helpen:

hebben jullie dan een goed alternatief op de code?
Opera vooral en ook Mozilla zijn echt fijne browsers hoor, beter dan MSIE.

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 13:53

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Voor de afnemende snelheid heb je idd een formule nodig, ik denk deze:

f(x)=1/x


Die is natuurlijk wel wat klein, maar als je dan gebruikt
1/x*9+1
is hij al groter, helemaal als je dat zwikkie nog tien keer vergroot :) Hoe in javascript om te zetten? gewoon met haakjes, evt. met int() :)

code:
1
((((1/i)*9)+1)*10)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Verwijderd

Verwijderd schreef op 08 oktober 2002 @ 20:57:
ik zou geen frames gebruiken die je resized, maar gewooon 2 grijze layers eroverheen knallen die je steeds kleiner maakt, wel leuk effect trouwens
Ik dacht toch eerder aan CSS-clipping. Dat is bedoeld om delen van een element te verbergen. Clipping is hier ideaal voor.

Verwijderd

Ik heb het volgende wel eens gedaan met een menuframe links en rechts een schuifbaar frame. Werkt prima. Maar kan ook eenvoudiger denk ik.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html><head><script language="Javascript">
function schuifuit(){parent.document.body.cols="100,*";timerID=setTimeout("schuifuit1()",500);}
function schuifuit1(){parent.document.body.cols="120,*";timerID=setTimeout("schuifuit2()",500);}
function schuifuit2(){parent.document.body.cols="140,*";timerID=setTimeout("schuifuit3()",500);}
function schuifuit3(){parent.document.body.cols="160,*";timerID=setTimeout("schuifuit4()",500);}
function schuifuit4(){parent.document.body.cols="180,*";timerID=setTimeout("schuifuit5()",500);}
function schuifuit5(){parent.document.body.cols="200,*";}

function schuifin(){parent.document.body.cols="200,*";timerID=setTimeout("schuifin1()",500);}
function schuifin1(){parent.document.body.cols="180,*";timerID=setTimeout("schuifin2()",500);}
function schuifin2(){parent.document.body.cols="160,*";timerID=setTimeout("schuifin3()",500);}
function schuifin3(){parent.document.body.cols="140,*";timerID=setTimeout("schuifin4()",500);}
function schuifin4(){parent.document.body.cols="120,*";timerID=setTimeout("schuifin5()",500);}
function schuifin5(){parent.document.body.cols="100,*";}
</script></head>
<body>
<a href="javascript:schuifuit()">SCHUIF UIT</a><br>
<a href="javascript:schuifin()">SCHUIF IN</a>
</body></html>

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 13:53

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Waarom in godsnaam zoveel functies terwijl het een lineair verloop is :?
JavaScript:
1
2
3
4
5
6
7
8
9
10
i=100;
function schuifuit(){
     newcols = i+',*';
     parent.document.body.cols=newcols;
     again = setTimeout("schuifuit()", 500);
     i=+20;
}
if( i => 200){
     clearTimeout("again");
}

Stukje netter ;)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Verwijderd

Was ook maar probeerseltje destijds. Kijken of het mogelijk was. ;)
Pagina: 1