Avatar billede jensgram Nybegynder
20. september 2002 - 10:29 Der er 9 kommentarer og
2 løsninger

Coolmenu scroll

Hej exp!

Jeg bruger en colmenu, men vil gerne "fastgøre" menuen øverst på skærmen, så den bliver på sin plads og forsvinder hvis man scroller ned ad skærmen.

Er der nogle, der har erfaring med det?

Jens Gram - www.jensgram.dk
Avatar billede bamzen Nybegynder
20. september 2002 - 10:33 #1
Ja da, hvilken version bruger du??

3 eller 4?

har du en url hvor vi kan se det...
Avatar billede jensgram Nybegynder
20. september 2002 - 10:36 #2
version: 4
url: ingen, tester lokalt - bruger standard-koden
Avatar billede bamzen Nybegynder
20. september 2002 - 10:37 #3
hvis du ikke ved om du har brug for cm_addins.js filen, så fjern den... og du har fjernet scroll
Avatar billede bamzen Nybegynder
20. september 2002 - 10:38 #4
hvis du ved du bruger funktioner fra addins filen, så kopier dem over i hovedscriptet, og udelad igen resten af addins filen
Avatar billede uffelgaard Nybegynder
20. september 2002 - 11:22 #5
du kan også bare fjerne den del af addins der giver den scroll
Avatar billede bamzen Nybegynder
20. september 2002 - 11:40 #6
ja, det er naturligvis korrekt
Avatar billede jensgram Nybegynder
20. september 2002 - 17:09 #7
"du kan også bare fjerne den del af addins der giver den scroll" - og det er så hér jeg gerne vil vide, hvad denne del hedder / hvor den er?
Avatar billede uffelgaard Nybegynder
20. september 2002 - 20:15 #8
du skal slette denne del:

/******************************************
CM_ADD-IN - pagecheck (last updated: 08/02/02)

Simple code that *tries* to keep the menus inside the
bounderies of the page.

Code updated. It's still not perfect (obviosly)
but it will now do another check to try and place
the menus inside.


Just add this code to the coolmenus js file
or link the cm_addins.js file to your page.
*****************************************/
makeCM.prototype.onshow+=";this.pagecheck(b,pm,pm.subx,pm.suby,maxw,maxh)"
makeCM.prototype.pagecheck=function(b,pm,x,y,w,h,n){ 
  l=pm.lev+1
  a=b.align; if(!n) n=1
  ok=1
  if(x<cmpage.x) {pm.align=1; ok=0;}
  else if(x+w>cmpage.x2){ pm.align=2; ok=0;}
  else if(y<cmpage.y) { pm.align=3; ok=0;}
  else if(h+y>cmpage.y2) {pm.align=4; ok=0;}
  if(!ok) this.getcoords(pm,this.l[l-1].borderX,this.l[l-1].borderY,pm.b.x,pm.b.y,w,h,this.l[l-1].offsetX,this.l[l-1].offsetY)
  x=pm.subx; y=pm.suby
    //Added check --- still not ok? --- part of the code by Denny Caldwell (thanks) -- badly immplemented by me though
  if(x<cmpage.x) {x += cmpage.x-x;}
  else if(x+w>cmpage.x2){ x = -(x+w-cmpage.x2);}
  else if(y<cmpage.y) { y = cmpage.y-y; }
  else if(h+y>cmpage.y2) {y = -(y+h-cmpage.y2);}
  if(x<cmpage.x) {x += cmpage.x-x;}
  else if(x+w>cmpage.x2){ x = -(x+w-cmpage.x2);}
  else if(y<cmpage.y) { y = cmpage.y-y;}
  else if(h+y>cmpage.y2) {y = -(y+h-cmpage.y2);}
    b.moveIt(x,y) 
}
Avatar billede uffelgaard Nybegynder
20. september 2002 - 20:16 #9
undskyld - jeg spasser...

du skal slette DENNE del:

/******************************************
CM_ADD-IN - checkscrolled (last updated: 01/29/02)
This is supported by all browsers
- IE5 for MAC has some screen refreshing problems
- Using this for non-ie browsers might slow down the page
  because the other browsers do not support the onscroll event
  so the script uses a timer.

Now with two new features.
- Set scrollstop to 1 to get another scrolling effect.
  If you do it will work the way it does on DHTMLCentral.com.
  Note that this feature is not perfect on menus not in rows.
- If you have the hideselectboxes add-in as well this function
  will now check for interfearing selectboxes when you scroll as
  well.

Just add this code to the coolmenus js file
or link the cm_addins.js file to your page as well.
*****************************************/
if(bw.ie) makeCM.prototype.onconstruct='document.body.onscroll=new Function(c.name+".checkscrolled("+c.name+")")'
else makeCM.prototype.onconstruct='setTimeout(c.name+".checkscrolled()",200)' //REMOVE THIS LINE TO HAVE SCROLLING ON FOR EXPLORER ONLY!!
makeCM.prototype.lscroll=0
makeCM.prototype.scrollstop=0 //Set this variable to 1 for another scrolling effect. Leave at 0 to scroll regular
makeCM.prototype.checkscrolled=function(obj){
    if(bw.mac) return //REMOVE THIS LINE TO HAVE SCROLLING ON THE MAC AS WELL - unstable!
  var c=bw.ie?obj:this, o
    if(bw.ns4 || bw.ns6 || bw.op5) c.scrollY=window.pageYOffset
    else c.scrollY=document.body.scrollTop
    if(c.scrollY!=c.lscroll){
    c.hidesub()
    if(c.scrollY>c.fromTop&&c.scrollstop){
      for(i=0;i<c.l[0].m.length;i++){o=c.m[c.l[0].m[i]].b; o.moveIt(o.x,c.scrollY)}
      if(c.useBar) c.bar.moveIt(c.bar.x,c.scrollY)
    }else{
      if(c.scrollstop){
        for(i=0;i<c.l[0].m.length;i++){o=c.m[c.l[0].m[i]].b; o.moveIt(o.x,c.fromTop)}
        if(c.useBar) c.bar.moveIt(c.bar.x,c.barY)
      }else{
        for(i=0;i<c.l[0].m.length;i++){o=c.m[c.l[0].m[i]].b; o.moveIt(o.x,o.oy+c.scrollY)}
        if(c.useBar) c.bar.moveIt(c.bar.x,c.barY+c.scrollY)
      }
    }
        c.lscroll=c.scrollY; cmpage.y=c.scrollY; cmpage.y2=cmpage.orgy+c.scrollY
        if(bw.ie){ clearTimeout(c.tim); c.isover=0; c.hidesub()}
    if(c.hideselectboxes){ //If you are using the hideselect add-in as well the script will now check for selectboxes when scrolling as well
      x = c.useBar?c.m[c.l[0].m[0]].b.x>c.bar.x?c.bar.x:c.m[c.l[0].m[0]].b.x:c.m[c.l[0].m[0]].b.x;
      y = c.useBar?c.m[c.l[0].m[0]].b.y>c.bar.y?c.bar.y:c.m[c.l[0].m[0]].b.y:c.m[c.l[0].m[0]].b.y;
      maxw = c.useBar?c.bar.w:c.rows?c.totw:c.maxw; maxh = c.useBar?c.bar.h:!c.rows?c.toth:c.maxh
      c.hideselectboxes(0,x,y,maxw,maxh,0)
    }
    }
    if(!bw.ie) setTimeout(c.name+".checkscrolled()",200)
}
Avatar billede jensgram Nybegynder
20. september 2002 - 20:18 #10
kigger på det - takker indtil videre - I får point i morgen, hvis det virker
Avatar billede jensgram Nybegynder
21. september 2002 - 13:41 #11
takker
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