Kunne du ikke på billedets onload-event køre et script, der checker billedets (eller div'ets) bredde og sammenhholder det med body'ens - hvorefter det flytter div'et hen på plads? Du kunne evt. vente med at vise div'et til det er flyttet på plads :)
Det vil naturligvis ikke virke i mere 'musseale' versioner (NS4.x), men så kan du lave en timer, der checker på div'ets størrelse. Når div'et skifter størrelse, er billedet loaded.
Jo--> men nu er problemet bare at dette script er noget jeg har hentet på nettet, og har siddet og rodet med det så lang tid, at jeg iukke finder hode og hale i det. Ellers ville jeg jo bare have lavet en style med placering, men da ID ligger i scriptet, kan jeg ikke se løsningen på det.
Du skulle vel ikke have et pr. vise ord hvor jeg skal kigge, ellers er din idé god nok, men sidder nu med to grumme javascript problemer som driller af H til, den ene er næsten løst i mit andet spm, dog kom det en lille fejl, og så har jeg denne som jeg ikke kan finde hoved og halæe i :o)
Siden er lavet til NE brugere, det har dhha bestemt, har dog prøvet at få den til at se ok ud i NE, uden at jeg ved om det er lykkes, så NE brugere er de "ligeglad" med, da 98 af brugerne af sitet er IE surfere
Med mit kendskab til dig og dine evner, tror jeg også, du er ved at gå sukkerkold ;o)
Script'et skal bare placeres et eller andet sted på siden. Det kaldes, så snart billedet er loaded: '<img onload="doDaStuff(this,'+crossobj+')" src="'+which+'">'; Hvor det første argument refererer til billedet selv - og det andet argument refererer til det div, der indeholder billedet :)
/cdc >> Nu går du den ondelynemig ind og sover ...!!! Se lige på din kode ... der er mindst tre sider oven i hinanden. Du kaster rundt med <head>, <body> og <html> tags :D
Dit script kan se sådan ud:
<script> var ie=document.all var ns=document.layers var ns6=document.getElementById&&!document.all function doDaStuff(im, parElm) { var w,h,dW,dH; w = im.width; h = im.height; dW = parseInt(document.body.offsetWidth); dH = parseInt(document.body.offsetHeight); parElm.style.left = (dW-w)/2 + "px"; parElm.style.top = (dH-h)/2 + "px"; parElm.style.visibility = "visible"; } function enlarge(which,e){ //Render image code for IE 4+ and NS6 if (ie||ns6){ crossobj=document.getElementById? document.getElementById("showimage") : document.all.showimage if (crossobj.style.visibility=="hidden"){ crossobj.innerHTML='<div align=right id=drag><b onClick=closepreview() style="cursor:hand">X</b></div><img onload=\"doDaStuff(this,"+crossobj+")\" src="'+which+'">'; } else crossobj.style.visibility="hidden" return false } //Render image code for NS 4 else if (document.layers){ if (document.showimage.visibility=="hide"){ document.showimage.document.write('<a href="#" onMouseover="drag_dropns(showimage)"><img src="'+which+'" border=0></a>') document.showimage.document.close() document.showimage.left=e.x document.showimage.top=e.y document.showimage.visibility="show" } else document.showimage.visibility="hide" return false } //if NOT IE 4+ or NS 4, simply display image in full browser window else return true }
function closepreview(){ crossobj.style.visibility="hidden" }
</script>
Men se lige at få checket din HTML-kode op først ;o) /mvh
Giv lige dit div 'showimage' left:0px;top:0px; Så slipper du for at scrollbarerne pop'er op og forsvinder igen, når du lige kommer ind på siden og viser det første store billede ;o)
endnu engang tak :o) Var den jeg ville tage ft i her til morgen. Nu vil jeg arbejde mig frem til at have en preloaderbar i en div til at vise sig, og som lukker når billedet er loadet færdig....lidt lir :o)
Olebole--> Hvordan vil dit script her influere på at jeg laver en lille div som der er placeret en "loding image" i, som åbner ved onclick men lukker når showimage div'en åbner, så man kan se at der sker noget.
Spørger lige om det er nogle ting jeg skal tage højde for.
Mon ikke denne rettelse vil virke? Check i både NS6 og IE:
function doDaStuff(im, id) { var w,h,dW,dH,offsetT, o = document.getElementById(id); w = im.width; h = im.height; if (ns6) { dH = parseInt(window.innerHeight); offsetT = parseInt(window.pageYOffset); } else { dH = parseInt(document.body.offsetHeight); offsetT = parseInt(document.body.scrollTop); } dW = parseInt(document.body.offsetWidth); o.style.left = (dW-w)/2 + "px"; o.style.top = (dH-h)/2 + offsetT + "px"; o.style.visibility = "visible"; }
/mvh
Synes godt om
Ny brugerNybegynder
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.