Avatar billede marnox Nybegynder
10. marts 2010 - 13:06 Der er 6 kommentarer og
1 løsning

document.write("<img.gif>") på forskellige tidspunkter hver ugedag

Jeg leder efter den nemmeste måde at løse følgende problemstilling på:

Jeg skal have vist ét billed ad gangen - ét ud af fire, som er afhængige af forskellige klokkeslet i løbet af hver dag i en uge. Løsningen skal kun differentieres på klokkeslet og ugedag (det vil sige alle uger og måneder er ens).

Hvordan løser jeg det nemmest?

(til både IE 7.0/8.0 og FF 3.0/3.6)
Avatar billede tjens Nybegynder
10. marts 2010 - 19:48 #1
Du skriver ikke noget om tidsplanen for billederne.
Her er et eksempel hvor billederne hedder Fruit001.bmp til Fruit004.bmp, og hvor tidsplanen er en tabel med 7 gange 24 cifre, som representerer alle ugens timer.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"    "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<script type="text/javascript">
window.onload = function () {
    var d = new Date();
    var day = d.getDay();
    var hour = d.getHours();
    var imagePlan = [
        [1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4],
        [1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,1,1,1],
        [2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,1,1,1,1,1,1],
        [2,3,3,3,3,3,3,4,4,4,4,4,4,1,1,1,1,1,1,2,2,2,2,2],
        [3,3,4,4,4,4,4,4,1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3],
        [4,4,4,1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,4,4],
        [1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4]   
    ];
    document.getElementById("picSwitch").src = "Fruit00" + imagePlan[day][hour] + ".bmp"
}
</script>
</head>
<body>
<p><img src="Fruit000.bmp" id="picSwitch" alt="image">
</p>
</body>
</html>

Jeg bruger ikke document.write, så jeg håber ikke det er et krav.
Avatar billede mireigi Novice
10. marts 2010 - 19:32 #2
Det her kan gøre hvad du skal bruge:
<html>
<head>
</head>
<body>
<img src="" alt="" border="" id="datoImg" />
<script type="text/javascript">
    function visImg()
    {
        var dato = new Date();
        var hour = dato.getHours();
        var img = document.getElementById("datoImg");
        if (hour > 0)
        {
            if (hour <= 6)
                img.src = "img1.gif";
            else if (hour <= 12)
                img.src = "img2.gif";
            else if (hour <= 18)
                img.src = "img3.gif";
            else if (hour <= 23)
                img.src = "img4.gif";
        }
        else
        {
            img.src = "img4.gif";
        }
    }
    visImg();
</script>
</body>
</html>
Avatar billede marnox Nybegynder
11. marts 2010 - 08:48 #3
Det er ikke et krav at bruge document.write. Det er bare sådan jeg har fået visningen på én dag til at virke, så jeg gik lidt ud fra det. Det kan sikkert sagtens løses med andet. Jeg kigger lige på jeres forslag senere. Finten er, at alle dage er forskellige hvad tiden angår. Så der skal oprettes forskellige if sætninger for hver dag.. Jeg kan ikke lige lure om I har tænkt på det?
Avatar billede tjens Nybegynder
11. marts 2010 - 09:56 #4
#3 Det er derfor jeg har oprettet tabellen med 7*24 værdier:
Så kan du angive billede 1, 2, 3 eller 4 per time i ugens 7 dage på en simpel og overskuelig måde.
Avatar billede marnox Nybegynder
11. marts 2010 - 15:38 #5
Jeg skal nok lige have forklaret, hvad tallene svarer til af klokkeslet. Har ikke arbejdet med ImagePlan. Er det første tal kl. 01 søndag nat / mandag morgen?
Avatar billede marnox Nybegynder
11. marts 2010 - 15:43 #6
Har lige fundet ud af det - første tal er time 0 søndag :-) Beklager forvirringen..

Jeg tror umiddelbart, det er den bedste løsning for min problemstilling. Vil du have point, skal du lige svare på tråden, tjens.
Avatar billede tjens Nybegynder
11. marts 2010 - 18:01 #7
Godt det kunne bruges
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