Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Kuvan pilkkominen javaskriptillä

Pallo [01.05.2008 13:44:42]

#

Olen etsiskellyt nyt tuloksetta javaskriptiä, joka pilkkoisi esim.
200 * 200 px kokoisen kuvan 20 * 20 px kokoisiin palasiin.
Skriptin pitäisi näyttää palaset yksitellen järjestyksessä ylhäältä lähtien vaikkapa 10 sekunnin välein.
Olisiko kellään heittää linkkiä esimerkkiin tai antaa pieniä vihjeitä miten tälläinen toteutetaan? Itse kun javaskriptiä en osaa lähes yhtään.

Antti Laaksonen [01.05.2008 14:19:46]

#

Tässä on yksi toteutustapa:

<script>
// kuvan leveys ja korkeus
var leveys = 200, korkeus = 200;
// näytettävän osan leveys ja korkeus
var osalev = 20, osakor = 20;
// yhden kuvan osan näyttöaika (ms)
var aika = 1000;
// näytetäänkö kuvasarjaa silmukassa
var toisto = true;

var laskuri = 0;
var jakox = leveys / osalev;
var jakoy = korkeus / osakor;

function vaihda() {
    kuva = document.getElementById("kuva");
    kuva.style.left = (laskuri % jakox) * -osalev;
    kuva.style.top = Math.floor(laskuri / jakox) * -osakor;
    laskuri++;
    if (laskuri == jakox * jakoy) {
        if (toisto) {
            laskuri = 0;
        } else {
            return;
        }
    }
    setTimeout("vaihda()", aika);
}

function aloita() {
    tausta = document.getElementById("tausta");
    tausta.style.width = osalev;
    tausta.style.height = osakor;
    laskuri++;
    setTimeout("vaihda()", aika);
}
</script>

<body onload="aloita()">

<div id="tausta" style="overflow:hidden;width:0px;height:0px;">
<img id="kuva" style="position:relative;left:0px;top:0px;" src="suuri.png">
</div>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta