Avatar billede robertk Nybegynder
26. september 2002 - 14:20 Der er 1 kommentar og
1 løsning

Kan man lave dette script tranperent 20% ???

Hej jeg har en menu her! som jeg godt ville have tranperent ca. 20% måske, er der en som kan hitte ud af hvor og hvordan??

Se koden på min html her:
www.creativedge.dk/menu (Højreklik vi kilde)

Og mit Java-script kan ses her:

  var open_close = true // true or false, false = close the previous item_panel first when opening a new one

  var height = 20; // height of the menu headers
  var iheight = 15; // height of the menu_items
 
  var bgc = "#FFFFFF" // background color of the item
  var tc = "#751B23" // text color of the item
 
  var over_bgc = "#751B23";
  var over_tc = "#FFFFFF";
 
  var speed = 0; // time between changing heigth of the item_panel
  var steps = 3; // changing heigth in steps of
  var timerID = "";
  var N = (document.all) ? 0 : 1;
  var width = 152


  var self_menu = new Array();
function write_menu()
{
  smc = 0; // count the position of the self_menu
  document.write("<div style='position:absolute'>");
  mn = 0;
  mni = 1;
  start = -1;
 
  for(i=0;i<Link.length;i++)
  {
  la = Link[i].split("|");

  if (la[0] == "0")
  {
    if(start == 0)
    {
      document.write("</div>");
      h =  csmc * iheight;
      tmn = mn;
      self_menu[smc] = new Array(tmn,h,0,-2);
      smc++;
      mn--;
    }
    csmc = 0;
    document.write("<div class='menu' style='top:"+mn+";height:"+height+"' id='down"+smc+"' onclick='prepare("+smc+","+mni+")'>&nbsp;"+ la[1] + "</div>");
    self_menu[smc] = new Array(mn,height,0,mni);
    smc++;
    mni++;
    mn+=height;
    start = 1;
  }
  else
  {
    if(start == 1)
    {
      if(N)mn+=2;
      document.write("<div class='item_panel' id='down"+smc+"' style='top:"+mn+"'>");
      start = 0;
    }
   
    document.write("<a href='"+la[2]+"'");
    if (la[3] != "") document.write(" target='" + la[3] + "' ");
    document.write("><div class='item' id='d"+i+"' style='height:"+iheight);
    if (N) document.write(";width:150");
    document.write("' onmouseover='color(this.id)' onmouseout='uncolor(this.id)'>&nbsp;&nbsp;"+ la[1] + "</div></a>");
    csmc++;
  }
  }
  if (start == 0)
  {
    document.write("</div>");
    h =  csmc * iheight;
    tmn = mn + 5;
    self_menu[smc] = new Array(tmn,h,0,-2);
    name = "down" + (self_menu.length-1);
    obj = document.getElementById(name);
    obj.style.borderBottomColor = "darkblue";
    obj.style.borderBottomWidth = 1;
    obj.style.borderBottomStyle = "solid";
  }
  document.write("</div>");
}
 

function color(obj)
{
document.getElementById(obj).style.backgroundColor = over_bgc;
document.getElementById(obj).style.color = over_tc
}

function uncolor(obj)
{
document.getElementById(obj).style.backgroundColor = bgc;
document.getElementById(obj).style.color = tc
}

var prevnr = -1;
var prevc = -1;
var vprepare = "stop";
var step = 0;
function prepare(nr,c)
{
if (open_close)
{
  if(prevnr == -1)
  {
  if(self_menu[nr+1][2] == 0)
  {
  prevnr = nr;
  prevc = c;
  }
  else
  {
  prevnr = -1;
  prevc = -1;
  }
  step = 0;
  pull_down(nr,c);
  }
  else
  {
  if((step == 0) && (prevnr != -1))
  {
    if (self_menu[nr+1][2] == 1)
    {
    step = 0;
    prevnr = -1;
    prevc = -1;
    pull_down(nr,c);
    }
    else
    {
    step = 1;
    pull_down(prevnr,prevc);
    prevnr = nr;
    prevc = c;
    }
  }
  else
  {
    step = 0;
    pull_down(prevnr,prevc);
  }
}}
else {pull_down(nr,c);vprepare = "stop"}
}

function end_prepare()
{
if (step == 1) prepare();
else {if (timerID != "") clearTimeout(timerID);}
}

function pull_down(nr,c)
{
if (timerID == "")
{
to = self_menu[nr+1][1]
begin = nr + 2;
if (timerID != "") clearTimeout(timerID);
if (self_menu[nr+1][2] == 0)
{
  self_menu[nr+1][2] = 1;
  if(nr == self_menu.length-2) {to++;}
  epull_down(begin,to,0);
}
else
{
  to = 0;
  self_menu[nr+1][2] = 0;
  name = "down"+(nr+2);
  open_item = 0;
  for(i=0;i<nr;i++)
  {
  if(self_menu[i][2] == 1)
    {open_item += self_menu[i][1];
    }
  }
  if (N == false) {open_item-= (c*1)};
  if (nr== self_menu.length-2) {val = self_menu[self_menu.length-1][1];to=-1;}
  else  val = parseInt(document.getElementById(name).style.top) -(open_item)-(c*height);
  epull_up(begin,to,val);
}
}
}

function epull_down(nr,to,nowv)
{
if((nowv + steps) >= to) {vsteps = to - nowv;}
else {vsteps = steps;}
name = "down" + (nr-1);
obj = document.getElementById(name).style.clip = "rect(0,"+width+","+(nowv+vsteps)+",0)";
for (i=nr;i<self_menu.length;i++)
{
  name = "down" + i;
  obj = document.getElementById(name);
  obj.style.top = parseInt(obj.style.top)+vsteps;
}
nowv+=vsteps;
if(nowv < to) timerID = setTimeout("epull_down("+nr+","+to+","+nowv+")",speed);
else {timerID = "";if(startid != "stop") open_all(); else end_prepare()}
}

function epull_up(nr,to,nowv)
{
if((nowv-steps) <= to) {vsteps = nowv-to;nowv = 0;if(to == -1) vstep = nowv}
else {vsteps = steps;}
name = "down" + (nr-1);
obj = document.getElementById(name).style.clip = "rect(0,"+width+","+nowv+",0)";
for (i=nr;i<self_menu.length;i++)
{
  name = "down" + i;
  obj = document.getElementById(name);
  obj.style.top = parseInt(obj.style.top)-vsteps;
}
nowv-=vsteps;
if(nowv > to) timerID = setTimeout("epull_up("+nr+","+to+","+nowv+")",speed);
else {timerID = "";end_prepare();}
}

var lb = new Array();

function startup(nr)
{
write_menu();
if(nr)
{
if(((nr.indexOf("|") != -1) || (nr.indexOf("all") != -1)) && (open_close == true)) alert("Error: the open_close property can only be used with a maximum of 1 default item.");
if (nr == "all")
{
j = 0;
for(i=0;i<self_menu.length;i++)
{
  if(self_menu[i][3] != -2) {lb[j] = self_menu[i][3];j++;}
}
}
else
{
lb = nr.split("|");
}
open_all();
}
else startid = "stop";
}

var startid = 0;
var open_part = 0;


function open_all()
{
startid = lb[open_part];
for(i=0;i<self_menu.length;i++)
{
  if(self_menu[i][3] == startid)
  {
  prevnr = i;
  prevc = startid;
  pull_down(i,startid);
  i==self_menu.length;
  open_part++;}
}
if(open_part == lb.length) startid = "stop";

}
Avatar billede dsj Nybegynder
26. september 2002 - 14:43 #1
Det her er ikke lige stedet for Java-scripts, som slet ikke er det samme som Java. Du får nok bedst svar i java-script-kategorien :)
Avatar billede robertk Nybegynder
26. september 2002 - 14:48 #2
okey!
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
Kurser inden for grundlæggende programmering

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