Avatar billede cdc Novice
19. april 2003 - 11:24 Der er 29 kommentarer og
1 løsning

centrering af div

Har et med en div jeg vil have centreret på siden i steden for nu at åbne ved siden af cursor.Linket til siden er:
http://www.cdcmedia.dk/hiphop/photo.shtml

Og selve der hvor billederne og koden er:

http://www.cdcmedia.dk/hiphop/rediger_text/tumb_text.htm

Nogen der har en idé på hvor jeg skal kode div'en id

/cdc
Avatar billede olebole Juniormester
19. april 2003 - 15:22 #1
<ole>

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.

/mvh
</bole>
Avatar billede cdc Novice
19. april 2003 - 15:35 #2
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)
Avatar billede cdc Novice
19. april 2003 - 15:36 #3
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
Avatar billede olebole Juniormester
19. april 2003 - 15:57 #4
Kik efter denne linie:
  if (crossobj.style.visibility=="hidden"){
Skriv derefter denne if-sætning om til:

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+'">';
}

Funktionen, der trigges på billedets onload-event, kunne så se sådan ud:

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";
}

/mvhh
Avatar billede cdc Novice
19. april 2003 - 16:08 #5
jeg for en syntaksfejl linie 2 tegn 1 ? kigger lige vider på det
Avatar billede olebole Juniormester
19. april 2003 - 16:18 #6
Sorry .... selvfølgelig gør du det  :)

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+'">';
}

So ein dingeling  ;o)
Avatar billede cdc Novice
19. april 2003 - 16:30 #7
forstår ikke hvor denne skal placeres:

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";
}

Tror jeg er går i tomgang, må heller intage noget sukker
Avatar billede olebole Juniormester
19. april 2003 - 16:42 #8
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  :)
Avatar billede cdc Novice
19. april 2003 - 16:58 #9
Efter 2 døgn med kaffe og ingen søvn, går man kold...

Men jeg får det ikke til at virke......
Avatar billede cdc Novice
19. april 2003 - 16:59 #10
Kender du disse øjne efter 5 spander kaffe 8o)
Avatar billede olebole Juniormester
19. april 2003 - 17:09 #11
/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
Avatar billede cdc Novice
19. april 2003 - 17:17 #12
det er fordi jeg har lavet noget ssi med html sider, og ja det ser ikke pent ud.

Kigger lige på koden lidt sener, og smutter ind og tager et par timer
Avatar billede cdc Novice
19. april 2003 - 17:22 #13
kunne ikke vente, får en syntaksfejl linie 2 tegn 1
Avatar billede olebole Juniormester
19. april 2003 - 17:37 #14
Fååårrk .... jeg gentog min fejl fra før  :D

<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>

Sådan  ;o)
Avatar billede cdc Novice
19. april 2003 - 17:51 #15
'object' er ikke defineret

linie 1
tegn 1
Avatar billede olebole Juniormester
19. april 2003 - 17:56 #16
Ret koden - så ser jeg på det senere idag  :)
Avatar billede cdc Novice
19. april 2003 - 17:58 #17
smider den ud og finder dynen, så er jeg mere klar sener :o)
Avatar billede cdc Novice
19. april 2003 - 18:04 #18
den er rettet nu, og  hviser ingen fejl andet end at diven ikke vises, men det komemr scrollbar på.
Vi ses om nogle timer
Avatar billede olebole Juniormester
20. april 2003 - 01:08 #19
Nu virker det:

<script>
var ie=document.all
var ns=document.layers
var ns6=document.getElementById&&!document.all
function doDaStuff(im, id) {
    var w,h,dW,dH, o = document.getElementById(id);
    w = im.width;
    h = im.height;
    dW = parseInt(document.body.offsetWidth);
    dH = parseInt(document.body.offsetHeight);
    o.style.left = (dW-w)/2 + "px";
    o.style.top = (dH-h)/2 + "px";
    o.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.id+'\')" 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>
Avatar billede cdc Novice
20. april 2003 - 01:26 #20
smukt arbejde olebole :O) Tak for hjælpen
Avatar billede olebole Juniormester
20. april 2003 - 01:40 #21
... anytime  ;o)
Avatar billede olebole Juniormester
20. april 2003 - 01:50 #22
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)
Avatar billede olebole Juniormester
20. april 2003 - 01:54 #23
Evt. sådan ...... så sker det hvergang, du loader et billede:

if (crossobj.style.visibility=="hidden"){
    crossobj.style.left = "0px";
    crossobj.style.top = "0px";
    crossobj.innerHTML='<div align=right id=drag><b onClick=closepreview() style="cursor:hand;">X</b></div><img onload="doDaStuff(this,\''+crossobj.id+'\')" src="'+which+'">';
}
Avatar billede cdc Novice
20. april 2003 - 08:11 #24
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)
Avatar billede cdc Novice
21. april 2003 - 20:17 #25
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.

/cdc
Avatar billede olebole Juniormester
21. april 2003 - 20:52 #26
Hvis du bare husker at lægge den i det rigtige dokument, er der ikke meget andet, du skal passe på i den anledning  ;o)
/mvh
Avatar billede olebole Juniormester
21. april 2003 - 20:53 #27
Det skulle da lige være kolestero ....... ehhhhhh ........ koffeintallet  ;oD
Avatar billede cdc Novice
21. april 2003 - 21:13 #28
takker, den arbejder jeg vider på, også mit kaffe forbrug :o)
Avatar billede cdc Novice
22. april 2003 - 18:32 #29
olebole--> Se her: http://www.dhha.dk/photo.shtml hvordan klarer jeg den, er det fordi den cntrerer til body i stdet for screen ?

scroll ned og klik på et af billederne
Avatar billede olebole Juniormester
22. april 2003 - 18:55 #30
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
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