Toon posts:

iframes en scrolling dmv javascript?

Pagina: 1
Acties:

Verwijderd

Topicstarter
hallo,

ik heb een probleem met javascript gestuurde scrolling van iframes.

op zich werkt het goed zolang ik één iframe op mijn pagina heb.
ik gebruik hiervoor het volgende script:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<script language="JavaScript">
<!--
var DownStep = 5;
var UpStep = -5;
var tID;
var tID2;

function StartUpScroll() {
    tID2 = setInterval("StartUpScroll2()",10);
}

function StartUpScroll2() {
    if(window.yellow && window.yellow.scrollBy) {
        var ifr = window.yellow;
        if (ifr.document.body.scrollTop <= 0) {
            clearInterval(tID2);
        } else {
            ifr.scrollBy(0, UpStep);
        }
    }
}

function StopUpScroll() {
    clearInterval(tID2);
}

function StartDownScroll() {
    tID = setInterval("StartDownScroll2()",10);
}

function StartDownScroll2() {
    if (window.yellow && window.yellow.scrollBy) {
        var ifr = window.yellow;
        if (ifr.document.body.scrollHeight - ifr.document.body.scrollTop <= ifr. document.body.offsetHeight) {
            clearInterval(tID);
        } else {
            ifr.scrollBy(0, DownStep);
        }
    }
}

function StopDownScroll() {
    clearInterval(tID);
}
//-->
</script>


en deze tags om het aan te sturen:
up
<a href="javascript: void(0);" onmousedown="StartUpScroll();" onmouseup="StopUpScroll();">

down
<a href="javascript: void(0);" onmousedown="StartDownScroll();" onmouseup="StopDownScroll();">

mijn probleem is nu, dat ik niet één maar drie iframes op mijn pagina heb, die ik allen op dezelfde manier wil aansturen.
mijn eigen oplossing zou zijn, door het script drie keer te herhalen en het op een of andere manier een naam te geven zodat ik in de html kan aan wijzen welk script gebruikt moet worden.

is dit uberhaupt mogelijk?
wat is de beste manier om scripts een naam te geven?
en hoe verandert de tagline in the html dan?

bij voorbaat dank.

Verwijderd

voor drie Iframes zou je het volgende kunnen gebruiken:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
down=0;
up=0;

down1=0;
up1=0;

down2=0;
up2=0;

function scrolldown()
{
if(down)blaat.scrollBy(0,20)
if(down1)blaat1.scrollBy(0,20)
if(down2)blaat2.scrollBy(0,20)

setTimeout("scrolldown()",50)  
}

function scrollup()
{
if(up)blaat.scrollBy(0,-20)
if(up1)blaat1.scrollBy(0,-20)
if(up2)blaat2.scrollBy(0,-20)

setTimeout("scrollup()",50)  
}

Verwijderd

Topicstarter
bedankt Shadow, ik vind het wat rottig om te zeggen, want ik waardeer de inzet, maar het helpt me niet echt in mijn inzicht in javascript en mijn probleem. even toelichten, wat er moet gebeuren is dat op mijn pagina er zes buttons zijn die behoren in setjes van twee (up/down) bij drie iframes. elke button moet dus afzonderlijk weten welk iframe het aanstuurt.

wat er nu gebeurd is dat alle buttons hetzelfde iframe aanstuurt.

wat ik dus niet begrijp is welk stukje in de tagline bepaalt welk stuk script word gebruikt.

nogmaals bedankt voor de inzet.

[ Voor 0% gewijzigd door Verwijderd op 28-09-2002 14:12 . Reden: typos ]


Verwijderd

Ik begrijp dat je 6 buttons hebt,lijkt me logisch (1 voor het omlaag scrollen en een voor het omhoog scrollen)
buttons voor je eerste iframe (name="blaat")

HTML:
1
<iframe src="blaat.htm" name="blaat" scrolling="no" frameborder="0" width="100%" height="300">

JavaScript:
1
2
<a href="javascript://" onMouseOver="down=1" onMouseOut="down=0">[img]"downbut.gif"[/img]</a>
<a href="javascript://" onMouseOver="up=1" onMouseOut="up=0">[img]"upbut.gif"[/img]</a>


Als je nu naar mijn bovenstaande scriptje kijkt zal je zien dat down overeenkomt met blaat (oftewel de naam van je eerste iframe) get it?

down1 (en up1) komen overeen met Iframe 2 met als naam .... blaat2 etc etc

Verwijderd

Topicstarter
get it? <-- ik geloof dat ik de bedoeling begrijp ja.

maar vooralsnog werkt het niet, kan zijn dat ik toch nog wat fout doe.

klopt dit?

script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<script language="JavaScript">
<!--
down=0;
up=0;

down1=0;
up1=0;

down2=0;
up2=0;

function scrolldown()
{
if(down)newsframe.scrollBy(0,20)
if(down1)workframe.scrollBy(0,20)
if(down2)linksframe.scrollBy(0,20)

setTimeout("scrolldown()",50)  
}

function scrollup()
{
if(up)newsframe.scrollBy(0,-20)
if(up1)workframe.scrollBy(0,-20)
if(up2)linksframe.scrollBy(0,-20)

setTimeout("scrollup()",50)  
}
//-->
</script>


en dan mijn iframe:
code:
1
<iframe src="news.htm" name="newsframe" width="255" height="196" align="left" frameborder="no" scrolling="no">


en mijn buttons:
code:
1
<a href="javascript://" onMouseOver="down=1" onMouseOut="down=0">


ik heb het idee dat ik op een of andere manier toch iets moet veranderen in de tagline voor de buttons.

anyway, als ik het zo doe, doet niets het, dus er moet iets fout zitten.

8)7

Verwijderd

heb je iets online staan? zodat ik de javascript errors kan checken, maak zo ook nog wel een werkend voorbeeld met mijn script

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Hoe heten je iframe's?
Je kunt toch ook een variabele aan de ScrollUp en ScrollDown meegeven.

Want hoe heet je huidige iframe? window.yellow

  • Pete_Sampras
  • Registratie: Juli 2001
  • Laatst online: 23-07-2024

Pete_Sampras

Abominabele bavarois

misschien ben je dit wel vergeten?
HTML:
1
<body onLoad="scrollup();scrolldown();">

Old school gamer met een lag en een traan.


Verwijderd

Topicstarter
Verwijderd schreef op 28 september 2002 @ 16:25:
heb je iets online staan? zodat ik de javascript errors kan checken, maak zo ook nog wel een werkend voorbeeld met mijn script
ik heb het snel ff upgeload met alleen de eerste twee iframes (yellow en red) verwijzend naar het script.

http://www.mentalloop.com/test/index.htm

hartstikke bedankt voor de moeite die je doet.

Verwijderd

Topicstarter
robjanssen schreef op 28 september 2002 @ 16:49:
Hoe heten je iframe's?
Je kunt toch ook een variabele aan de ScrollUp en ScrollDown meegeven.

Want hoe heet je huidige iframe? window.yellow
euh..ja volgens het eerste script was er een id aan het iframe gegeven, in dit geval id=yellow, id=red en id=blue.

aangezien het geschreven is voor één iframe was dat geen probleem, maar voor meerdere iframes klopt de verwijzing niet, en ik heb geen flauw idee wat ik waar moet veranderen.

mijn idee is dat shadows script logischer is, althans ik zie beter wat de bedoeling is.

duidelijk is dat dit misschien te hoog gegrepen is met slechts de basiskursus javascript doorgeploegd.

Verwijderd

Verwijderd schreef op 28 september 2002 @ 17:51:

euh..ja volgens het eerste script was er een id aan het iframe gegeven, in dit geval id=yellow, id=red en id=blue.
.
dit gaat niet werken het moet zijn:

name="yellow" i.p.v. id=yellow

anyway ik heb ff een voorbeeldpagina in elkaar geflanst
http://www.drunk.nl/tweakers/iframe2/

Bekijk de source, dan kom je er ongetwijfeld uit.

Verwijderd

Misschien heb je hier nog wat aan :
http://wsabstract.com/javatutors/dynlay/index.html
en dan bij 'scrolling overlay'

Verwijderd

Topicstarter
Bedankt mensen...

ik ga dr vandaag weer mee aan de slag, en ik denk dat ik er met het voorbeeld van shadow wel uitkom. :)

ik hoop het eindresultaat vanavond te kunnen laten zien.
Pagina: 1