Avatar billede pucaj Nybegynder
11. november 2000 - 14:54 Der er 32 kommentarer og
1 løsning

HJÆLP !!! HVAD SKAL JEG GØRE

Er der nogen der kan hjælpe mig med DHTML

Jeg har en menu som man indstiller position via X og Y

sådan her:

var menuX = 156
var menuY = 160

men den position passer kun i en opløsning nemlig 800x600

hvad skal jeg gøre for at den skal passe i det andre opløsninger ?

TAKKER !!!
Avatar billede hyperactive Nybegynder
11. november 2000 - 14:56 #1
Du kan angive koordinaterne i % i stedet for pixels
Avatar billede geeeet Nybegynder
11. november 2000 - 14:57 #2
Hvad mener du med at den kun passer i 800x600???
Hvis den er sat til at være i de koordinater, vil den altid ligge i de koordinater !!!

Udspecificer venligst lidt..

/Geeeet
Avatar billede pucaj Nybegynder
11. november 2000 - 14:57 #3
hvordan det
Avatar billede pucaj Nybegynder
11. november 2000 - 14:59 #4
hyperactive.dk

hvordan kan jeg angive koordinaterne i % stedet for pixels
Avatar billede geeeet Nybegynder
11. november 2000 - 15:00 #5
Det kan man ikke...
Hvis din menu er lavet med lag (span eller div) skal den have nogle faste koordinater, for at netscape opfatter det som et lag, og derfor kan det ikke angives i %, men kun i pixels...

/Geeeet
Avatar billede pucaj Nybegynder
11. november 2000 - 15:04 #6
ja min menu er lavet med \"(span eller div)\"
Avatar billede pucaj Nybegynder
11. november 2000 - 15:05 #7
hvad skal jeg så gøre
Avatar billede geeeet Nybegynder
11. november 2000 - 15:07 #8
Du skal give os noget kode, og prøve at forklare dit problem lidt bedre....
For hvis menuen er sat til at starte i koordinaterne x =156 og y = 160 så starter den der altid, og er ikke afhængig af hvilken opløsning du kører...

/Geeeet
Avatar billede hyperactive Nybegynder
11. november 2000 - 15:08 #9
Du skal have regnet tallene om til %

F.eks
var menuX=20%

men det virker som geeeet er inde på kun i IE
Avatar billede pucaj Nybegynder
11. november 2000 - 15:09 #10
det skal helst virke i IE og NS
Avatar billede pucaj Nybegynder
11. november 2000 - 15:10 #11
er der ikke andre muligheder
Avatar billede geeeet Nybegynder
11. november 2000 - 15:11 #12
Prøv at forklare dit problem engang !!!!

Jeg forstår altså stadig ikke helt hvad dælen du mener !!!

/Geeeet
Avatar billede hyperactive Nybegynder
11. november 2000 - 15:15 #13
Den mest sikre måde vil være at lave en version til hver opløsning.... Det har jeg selv gjort på hyperactive.dk.
Avatar billede pucaj Nybegynder
11. november 2000 - 15:18 #14
/Geeeet

Min menu er ligesom på sportsfan.dk

Avatar billede geeeet Nybegynder
11. november 2000 - 15:31 #15
Er det fordi at du skal have placeret din menu i midten eller hvad???
For hvis det er derfor, skal du ud i noget med at du skal positionere din menu efter en gif,
ligesom du kan se på :

http://www.bricius.dk/eksperten/28213

/Geeeet
Avatar billede stringbuffer Nybegynder
11. november 2000 - 15:33 #16
hvis du vil placere din menu så den f.eks. har en position, der ville SVARE til en position i % så skal du simpelthen lave en kode, der regner disse tal ud afhængigt af skærmopløsningen, feks. hvis du gerne vil have top-positionen til at være 10%
af skærmbredden og left-positionen 20% skal du gøre:

menuX = screen.width/5;
menuY = screen.height/10;
Avatar billede pucaj Nybegynder
11. november 2000 - 15:48 #17
stringbuffer

virker det i NS
Avatar billede pucaj Nybegynder
11. november 2000 - 15:54 #18
Det her er hvad den stå til nu:

var menuX = 156
var menuY = 160

Skal det erstates med det her

menuX = screen.width/156;
menuY = screen.height/160;


Avatar billede geeeet Nybegynder
11. november 2000 - 15:55 #19
if(document.layers){
    menuX = window.innerWidth/5;
    menuY = window.innerHeight/10;
}
else{
    menuX = document.body.offsetWidth/5;
    menuY = document.body.offsetHeight/10;
}

en til ie, og en til netscape...
Ie kan dog først læse bredden af browservinduet EFTER <body>-tagget, så du skal have flyttet den del af din kode derned..

/Geeeet
Avatar billede pucaj Nybegynder
11. november 2000 - 19:39 #20
/Geeeet
hvilken del af koden er til IE

Avatar billede pucaj Nybegynder
11. november 2000 - 19:51 #21
her er koden (det der tilhøre <HEAD>)

Hvordan skal indsætes

if(document.layers){
    menuX = window.innerWidth/5;
    menuY = window.innerHeight/10;
}
else{
    menuX = document.body.offsetWidth/5;
    menuY = document.body.offsetHeight/10;
}


<script language=\"JavaScript\">
<!--
var divTimer;var sub1,sub1b,sub2,sub2b,sub3,sub3b,sub4,sub4b,sub5,sub5b,sub6,sub6b,sub7,sub7b;
var menuX = 156
var menuY = 160
var finishedLoading = false;

function init(){

  sub1 = new DynLayer(\'sub1Div\')
  sub1b = new DynLayer(\'sub1bDiv\')
  sub2 = new DynLayer(\'sub2Div\')
  sub2b = new DynLayer(\'sub2bDiv\')
  sub3 = new DynLayer(\'sub3Div\')
  sub3b = new DynLayer(\'sub3bDiv\')
  sub4 = new DynLayer(\'sub4Div\')
  sub4b = new DynLayer(\'sub4bDiv\')
  sub5 = new DynLayer(\'sub5Div\')
  sub5b = new DynLayer(\'sub5bDiv\')
  sub6 = new DynLayer(\'sub6Div\')
  sub6b = new DynLayer(\'sub6bDiv\')
  sub7 = new DynLayer(\'sub7Div\')
  sub7b = new DynLayer(\'sub7bDiv\')


  sub1.moveTo(menuX,menuY)
  sub1b.moveTo(menuX,menuY)
  sub2.moveTo(menuX,menuY+20)
  sub2b.moveTo(menuX,menuY+20)
  sub3.moveTo(menuX,menuY+40)
  sub3b.moveTo(menuX,menuY+40)
  sub4.moveTo(menuX,menuY+60)
  sub4b.moveTo(menuX,menuY+60)
  sub5.moveTo(menuX,menuY+80)
  sub5b.moveTo(menuX,menuY+80)
  sub6.moveTo(menuX,menuY+100)
  sub6b.moveTo(menuX,menuY+100)
  sub7.moveTo(menuX,menuY+120)
  sub7b.moveTo(menuX,menuY+120)

  preload(\'pixelOver\',\'images/pixel_over.gif\');

  finishedLoading = true;
}

function preload(imgObj,imgSrc) {
  if (document.images) {
      eval(imgObj+\' = new Image()\')
      eval(imgObj+\'.src = \"\'+imgSrc+\'\"\')
  }
}


function showMenu(ID,ID2,ID3,pic,pic2){    if(finishedLoading){
        clearTimeout(divTimer);

        sub1.hide();
        sub1b.hide();
        sub2.hide();
        sub2b.hide();
        sub3.hide();
        sub3b.hide();
        sub4.hide();
        sub4b.hide();
        sub5.hide();
        sub5b.hide();
        sub6.hide();
        sub6b.hide();
        sub7.hide();
        sub7b.hide();

        ID.show();
        ID2.show();

        img = \'images/\' + pic + \'_over.gif\';
        document[pic].src = img;

        if(pic2){
          img2 = pixelOver.src;
          (document.all)? document[pic2].src = img2 : document[ID3].document[pic2].src = img2;
          //document[pic2].src = img2;
        }  }
}

function hideMenu(ID,ID2,ID3,pic,pic2){    if(finishedLoading){
        menu1 = ID;
        menu2 = ID2;

        divTimer = setTimeout(\"menu1.hide();menu2.hide()\",100);

        img = \'images/\' + pic + \'.gif\';
        document[pic].src = img;

        if(pic2){
          img2 = \'images/pixel.gif\';
          (document.all)? document[pic2].src = img2 : document[ID3].document[pic2].src = img2;
          //document[pic2].src = img2;
        }  }
}

function highLite(show){

  if(show){
      ;
  }
  else
      ;
}

function popauk(link){
nw=open(link,\"D\",\"toolbar=yes,directories=no,menubar=no,scrollbars=no,status=no,resizable=0,width=600,height=600\");
}

function popfan(link){
nw=open(link,\"D\",\"toolbar=yes,directories=no,menubar=no,scrollbars=no,status=no,resizable=0,width=575,height=480\");
}

function popwim(link){
nw=open(link,\"D\",\"toolbar=yes,directories=no,menubar=no,scrollbars=yes,status=yes,resizable=0,width=800,height=600\");
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf(\"#\")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf(\"?\"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

{
alt0 = new Image();
alt0.src = \"dizajn/prazno.gif\";

alt1 = new Image();
alt1.src = \"dizajn/naz_home.gif\";

alt2 = new Image();
alt2.src = \"dizajn/naz_sacuvaj.gif\";

alt3 = new Image();
alt3.src = \"dizajn/naz_knjiga.gif\";

alt4 = new Image();
alt4.src = \"dizajn/naz_info.gif\";


graphic1= new Image();
graphic1.src = \"dizajn/home.gif\";
graphic1on = new Image();
graphic1on.src = \"dizajn/home.gif\";

graphic2= new Image();
graphic2.src = \"dizajn/sacuvaj.gif\";
graphic2on = new Image();
graphic2on.src = \"dizajn/sacuvaj.gif\";

graphic3= new Image();
graphic3.src = \"dizajn/knjiga.gif\";
graphic3on = new Image();
graphic3on.src = \"dizajn/knjiga.gif\";

graphic4= new Image();
graphic4.src = \"dizajn/info.gif\";
graphic4on = new Image();
graphic4on.src = \"dizajn/info.gif\";

}
function imageChange(imageID,imageName,imageID2,imageName2) {


{
document.images[imageID].src = eval(imageName + \".src\");
document.images[imageID2].src = eval(imageName2 + \".src\");
}

}

function info(arg) {
        newWin = window.open(arg, \'newWin\',
\'width=620,height=485,toolbar=yes,scrollbars=yes,resizable=yes\');
}


function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+\".location=\'\"+selObj.options[selObj.selectedIndex].value+\"\'\");
  if (restore) selObj.selectedIndex=0;
}

//-->
</script>
Avatar billede pucaj Nybegynder
12. november 2000 - 00:44 #22
er der nogen der kan hjælpe mig ?
Avatar billede pucaj Nybegynder
12. november 2000 - 13:11 #23
/Geeeet

Vil du hjælpe mig med at indsæte den kode som du fik lavet til mig. TAK !
Avatar billede pucaj Nybegynder
12. november 2000 - 13:19 #24
ER DER NOGEN DER KAN HJÆLPE MIG ???

JEG GIVE 200 point !
Avatar billede steven Nybegynder
12. november 2000 - 14:53 #25
Hej pucaj,

Jeg har haft lignende problem, og det jeg gjorde var at indsætte et billede på 1 * 1 pixel der hvor hjørnet af menuen skulle være. Jeg tilpassede det vha. tabeller, så det altid passer på siden uafhænging af skærmopløsning. Derefter brugte jeg funktioner script:

function init() {

                // Create the navigation bars.
                myNavBar.create();
           
            img = getImage(\"placeholder\");
              myNavBar.moveTo(getImagePageLeft(img) - 10, getImagePageTop(img) - 13);
          }   

function getImagePageTop(img){var y,obj;if(isMinNS4){if(img.container!=null)return img.container.pageY+img.y;else return img.y;}if(isMinIE4){y=0;obj=img;while(obj.offsetParent!=null){y+=obj.offsetTop;obj=obj.offsetParent;}y+=obj.offsetTop;return y;}return-1;}

function getImagePageTop(img){var y,obj;if(isMinNS4){if(img.container!=null)return img.container.pageY+img.y;else return img.y;}if(isMinIE4){y=0;obj=img;while(obj.offsetParent!=null){y+=obj.offsetTop;obj=obj.offsetParent;}y+=obj.offsetTop;return y;}return-1;}

Håber det kan bruges!!!

/Steven
Avatar billede steven Nybegynder
12. november 2000 - 14:54 #26
Hej pucaj,

Mit billede name=\"placeholder\"

/Steven
Avatar billede pucaj Nybegynder
12. november 2000 - 14:57 #27
Tusind tak steven ! :)

har du en eks. jeg kan se ?

eller hvis du gider hjælp mig over ICQ
Avatar billede steven Nybegynder
12. november 2000 - 14:59 #28
Pucaj>>

eksempel er til at finde på www.test.as/roland/idebank.htm

Det er menuen lige under \"Rolandposten\", som jeg har gjort det ved!

Bruger desværre kun messenger :-(

/Steven
Avatar billede pucaj Nybegynder
12. november 2000 - 15:00 #29
det er fint jeg har også messenger :)
Avatar billede steven Nybegynder
12. november 2000 - 15:03 #30
pucaj>>

smountfield@hotmail.com

/Steven
Avatar billede steven Nybegynder
12. november 2000 - 15:34 #31
pucaj>>

Indsæt følgende i din function init():

img = getImage(\"menu\");
var menuX = getImagePageLeft(img) + etTal;
var menuY = getImagePageTop(img) + etEllerAndetTal;



Indsæt nedenstående funktioner i efter din funktion init()



function getImagePageLeft(img){
    var x,obj;
    if(isMinNS4){
        if(img.container!=null) return img.container.pageX+img.x;
        else return img.x;
    }
    if(isMinIE4){
        x=0;
        obj=img;
        while(obj.offsetParent!=null){
            x+=obj.offsetLeft;
            obj=obj.offsetParent;
        }
        x+=obj.offsetLeft;
        return x;
    }
    return-1;
}

function getImagePageTop(img){
    var y,obj;
    if(isMinNS4){
        if(img.container!=null) return img.container.pageY+img.y;
        else return img.y;
    }   
    if(isMinIE4){
        y=0;obj=img;
        while(obj.offsetParent!=null){
            y+=obj.offsetTop;obj=obj.offsetParent;
        }
        y+=obj.offsetTop;return y;
    }
    return-1;
}

tallene etTAL og etAndetTal, skal du rette, så menuen passer til (finjustering)

/Steven
Avatar billede steven Nybegynder
12. november 2000 - 16:08 #32
function getImagePageLeft(img){
function getImage(name){
    if(isMinNS4){
        return findImage(name,document);
    }
    if(isMinIE4) return eval(\'document.all.\'+name);
    return null;
}
  var x,obj;
    if(isMinNS4){
        if(img.container!=null) return img.container.pageX+img.x;
        else return img.x;
    }
    if(isMinIE4){
        x=0;
        obj=img;
        while(obj.offsetParent!=null){
            x+=obj.offsetLeft;
            obj=obj.offsetParent;
        }
        x+=obj.offsetLeft;
        return x;
    }
    return-1;
}

ændres til



function getImage(name){
    if(isMinNS4){
        return findImage(name,document);
    }
    if(isMinIE4) return eval(\'document.all.\'+name);
    return null;
}

function getImagePageLeft(img){
  var x,obj;
    if(isMinNS4){
        if(img.container!=null) return img.container.pageX+img.x;
        else return img.x;
    }
    if(isMinIE4){
        x=0;
        obj=img;
        while(obj.offsetParent!=null){
            x+=obj.offsetLeft;
            obj=obj.offsetParent;
        }
        x+=obj.offsetLeft;
        return x;
    }
    return-1;
}
Avatar billede pucaj Nybegynder
12. november 2000 - 16:27 #33
TUSIND TAK, STEVEN FOR HJÆLPEN !
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