» »

javascript problem z galerijo slik

javascript problem z galerijo slik

Jackass ::

Živjo!

Izdelujem preprosto galerijo slik in sem naletel na problem, ki ga nikakor ne znam odpraviti. Problem je v tem, da so slike različnih dimenzij, kljub temu pa jih želim v galeriji pri predogledu prikazati v pravem razmerju (višina, širina). Zato višino in širino pomanjšane slike v galeriji sproti računam. In tu nastane problem. Namreč če sliko prej naložim (ustvarim nov objekt Image, mu določim src), tako da lahko dobim njeno originalno velikost, se ob prvem nalaganju strani slike ne naložijo, temveč šele ob drugem ali tretjem. Če te vrstice vržem ven in določim fiksno velikost slik, zadeva dela BP.

JS Koda:

var folders = new Array (
Array('athens',3,'In Athens'), //mapa, st. slik, naslov galerije
Array('montreal',12,'In Canada')
);

function showGallery(folder){ //spremenljivka folder je pravzaprav številka galerije (athens, montreal)...


var img='/001';
var i=0

var height=0;
var width=0;
var vsebina="< div class=\"title\" >< h3>"+folders[folder][2]+"< /h3>< /div>";

for(i=1; i < = folders[folder][1]; i++){

vsebina+='< div class=\"photo-small-frame\">< a href=\"javascript:showChosenPhoto('+folder+','+i+')\">< img src=\"images/photo_gallery/'+folders[folder][0];
if(i< 10){
img='/00'+i;
}
else{
img='/0'+i;
}
vsebina+=img;

//Če nasldenje 2 vrstice odstranim in pri width in height napišem fiksno vrednost, zadeva deluje BP
tempImg = new Image();
tempImg.src='images/photo_gallery/'+folders[folder][0]+img+'.jpg';

width=Math.round(tempImg.width*0.26666);
height=Math.round(tempImg.height*0.26666);

vsebina+='.jpg\" alt=\"slika\" class=\"photo-small\" width=\"'+width+'\" height=\"'+height+'\" />< /a>< /div>';
}
document.getElementById('galerija').innerHTML=vsebina;
}

HTML koda:
< div class="galerija">< /div>
< script...
window.onload=showGallery(0);
< /script...


V kolikor nisem bil jasen, mi prosim povejte, bom skušal natančneje razložit.
jAcKaSS

Jackass ::

Sem obšel težavo.

Očitno javascript pri ukazu ".src"
tempImg = new Image();
tempImg.src='images/neka_slika.jpg';

samo priredi sliki vir, ne počaka pa, da se le ta tudi naloži do konca, temveč se pričnejo izvajati naslednji ukazi. Ali morda kdo ve ali je kako možno zagotoviti, da se slika najprej naloži preden se izvede naslednji ukaz? Ali je to možno doseči le s preverjanjem v zanki?
jAcKaSS


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
!

Vse, kar ste si želeli vprašati o CSS, pa si niste upali. (strani: 1 2 3 423 24 25 26 )

Oddelek: Izdelava spletišč
1298347330 (6467) sunniegoldie
»

google analytics

Oddelek: Slo-Tech
213126 (2596) roli
»

EXIF - izpis podatkov o sliki v PHP ju?

Oddelek: Programiranje
121875 (1611) Cokolesnik
»

Kako se tole naredi?

Oddelek: Izdelava spletišč
261507 (1207) njok
»

Težava s spremembo davka v MySQL PHP skripti (skripta inside)

Oddelek: Programiranje
121233 (1035) darh

Več podobnih tem