Dubbele <body unload=> tag

Status
Niet open voor verdere reacties.

Zwartvin

Gebruiker
Lid geworden
30 jan 2014
Berichten
5
Hallo,

ik ben bezig met mijn site voor school en ik heb drie javascripts nodig.

Alleen heb ik het volgende probleem:

Ik moet voor twee javascripts de tag <body unload=> gebruiken, alleen wilt dit niet samen werken.
HTML:
<body onload="start()" onunload="stop()"> 
<body onload="aantal_fotos();beeldwissel5();">
Dit wilt niet werken en ik krijg ze ook niet op een goede manier gemixt.

Iemand die mij hiermee kan helpen?
alvast bedankt
 
Waarom zet je dat niet in één functie die tijdens onload aangeroepen wordt?

HTML:
<body onload="onLoad();" onunload="stop()">
[js]var onLoad = function()
{
start();
aantal_fotos();
beeldwissel5();
};[/js]
 
Hoe bedoel je Devil?

De eerste javascript is een klokje die het script in dezelfde pagina heeft:
[JS]<script type="text/javascript">

var timer = null
function stop()
{
clearTimeout(timer)
}

function start()
{
var time = new Date()
var hours = time.getHours()
var minutes = time.getMinutes()
minutes=((minutes < 10) ? "0" : "") + minutes
var seconds = time.getSeconds()
seconds=((seconds < 10) ? "0" : "") + seconds
var clock = hours + ":" + minutes + ":" + seconds
document.forms[0].display.value = clock
timer = setTimeout("start()",1000)

}

</script>[/JS]

En de volgende werkt via een extern javascript, dit is een slideshow.
HTML:
<link rel="stylesheet" type="text/css" href="beeldwissel5.css">
[JS]
// dit kun je aanpassen: de tijd (in seconden) tussen twee opeenvolgende afbeeldingen
var pauzeren = 3;

// hieronder niets meer wijzigen

var pauze = pauzeren*1000;
var nummer = 2;
var vorig_nummer = 0;
var uitvoeren,opacity,j,t,obj;


function aantal_fotos() {
foto_aantal = document.getElementById('beeldwissel5').getElementsByTagName('img').length;}

function wachten(uitvoeren){
var t = window.setTimeout(uitvoeren, pauze);}

function beeldwissel5(){
if (nummer == foto_aantal+1){nummer = 1;}
wachten('toon_en_verberg()'); }

function toon_en_verberg(){
for (j=1; j<=foto_aantal; j++) {
if (j!=nummer) {
document.getElementById('afb'+j).style.zIndex = "-1";}
if (vorig_nummer !== 0){
if (j!== vorig_nummer){
document.getElementById('afb'+j).style.marginLeft = "-9999px"; }}}

document.getElementById('afb'+nummer).style.zIndex = "1";
document.getElementById('afb'+nummer).style.opacity = "0";
document.getElementById('afb'+nummer).style.marginLeft = "0";
infaden('afb'+nummer);
vorig_nummer = nummer;
nummer++;
beeldwissel5();}

function infaden(objId,opacity) {
if (!opacity){opacity=0;}
if (document.getElementById) {
var obj=document.getElementById(objId);

if (opacity < 100) {
obj.style.filter = "alpha(opacity:"+opacity+")";
obj.style.KHTMLOpacity = opacity/100;
obj.style.MozOpacity = opacity/100;
obj.style.opacity = opacity/100;
opacity += 5;
window.setTimeout("infaden('"+objId+"',"+opacity+")", 50);}}}[/JS]

Waar zou ik dat van jou dan moeten plaatsen?
 
Waar zou ik dat van jou dan moeten plaatsen?

Ik neem aan dat je zoiets in je lessen hebt gekregen. ;)

Het netste is om je Javascripts in een extern bestand te zetten en die in je pagina te laden.
Wat je qua HTML-code hebt getoond in het bericht hierboven is een verwijzing naar een extern CSS-bestand, geen Javascript dus :)

CSS zet je binnen je <head>, <script> (voor externe JS-bestanden) zet je voor </body>.
 
Helaas werd er in de les niks over javascript uitgelegd.:confused:

Het beste is dus om je javascript apart te zetten in een .js bestandje?

Dit was de link die ik bedoelde naar het externe javascript:
HTML:
<script type="text/javascript" src="beeldwissel5.js"></script>

Maar ik snap nog steeds niet echt waar ik jouw stukje zou moeten plaatsen
[JS]var onLoad = function()
{
start();
aantal_fotos();
beeldwissel5();
};[/JS]

Sorry ik ben echt nog een leek hierin haha
 
Kun je uitleggen wat precies de bedoeling is want ik zie dat de titel en tekst over "onunload" gaan maar in de code van je eerste bericht heb je twee keer een "onload" :)

Je kunt dat stukje tekst prima onderaan de pagina zetten:
HTML:
<body onload="onLoad()">
    <h1>Titel</h1>
    <p>Lorem</p>
    <script>
        var onLoad = function()
        {
            start();
            aantal_fotos();
            beeldwissel5();
        };
    </script>
</body>
 
Oh unload had onload moeten zijn sorry.

Heel erg bedankt voor je hulp, het is gelukt:)

HTML:
<body onload="onLoad()" onunload="stop()">
    <script>
        var onLoad = function()
        {
            start();
            aantal_fotos();
            beeldwissel5();
        };
    </script>

hoefde de 'onunload' er alleen maar achter plakken!
hoe makkelijk kan t zijn.. :p
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan