Avatar billede mikkelk Nybegynder
04. november 2004 - 21:01 Der er 1 kommentar og
1 løsning

Billedmanager/loader problem

Hej

Jeg er ret ny i javascript og ikke mindst objekter, men jeg forsøger mig lidt frem :-) Jeg er igang med at forsøge at lave en billedmanager der bl.a. skal loade en række billeder når man klikker på en kategori, men...det virker ikke rigtig. I kan se min test på http://kongsfelt.dk/test/testpage.asp

og koden er her:

function kategoriObj( katID, katNavn, imgList ) {
    this.ID = katID;
    this.i = -1;
    this.nsImg = new Image();
    this.tbts = 0;
    this.navn = katNavn;
    this.loaded = false;
    this.addImg = addImgF;
    this.imageList = imgList;
    this.imageLoad = function() {
        if (this.loaded == false) {
            document.getElementById("pic" + this.ID).style.visibility = 'visible';
            this.img = (document.all) ? document.getElementById(this.ID + 'pimg') : this.nsImg;
            if (++this.i != 0 && document.all)
                this.tbts += Math.round(this.img.fileSize / 1024);
            this.prct = Math.round(this.i / this.imageList.length * 100);
            document.getElementById("pl").innerHTML = this.prct + "%<br />" + ((document.all) ? "Kilobytes: " + this.tbts + "<br />" : "") + this.i + " ud af " + this.imageList.length + " billeder loadet";
            document.getElementById("plbar").style.width = this.prct + "%";
            if (this.i >= this.imageList.length)
                //efterPreload();
                this.loaded = true;
            else {
                this.img.src = this.imageList[this.i];
                if (!document.all)
                    this.tjek();
            }
        }       
    };
    this.tjek = function() {
        if (this.nsImg.complete)
            this.imageLoad();
        else
            setTimeout(this.tjek, '100');
    }
    this.printKat = printKatF;
}
function addImgF( imgArr, imgSizeArr ) {
    for ( var i in imgArr ) {
    this.imageList[ this.imageList.lenght ] = imgArr[i];
    this.imageSize[ this.imageSize.lenght ] = imgSizeArr[i];
    }
}
function printKatF() {
    document.writeln('<div class="katHeadline" id="' + this.ID + '" onclick="kat' + this.ID +'.imageLoad();">' + this.navn + '</div>');
    document.writeln('<div class="picListe" id="pic' + this.ID + '" style="visibility:hidden;">');
    document.writeln('<div style="width: 200px; height: 16px; border: 1px solid black; background-color: #CCCCCC; font-size: 0px;">');
    document.writeln('<div style="width: 0%; height: 100%; background-color: #6699CC; font-size: 0px;" id="plbar"></div>');
    document.writeln('</div>');
    document.writeln('<span id="pl" style="font-family: Verdana; font-size: 60%;"></span><br />');
    document.writeln('<img src="" id="' + this.ID + 'pimg" style="display: none;" onLoad="preload();" />');
    document.writeln('</div>');
}

Håber i kan hjælpe mig med at få det til at virke efter hensigten...
Avatar billede mikkelk Nybegynder
05. november 2004 - 14:23 #1
Så forsøger vi med lidt flere point...
Avatar billede mikkelk Nybegynder
07. november 2004 - 16:22 #2
hmm...ok...så lukker vi...
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