Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 4.089 pregleda

Najnovija ↓

Java Script pomoc 21.04.2004. u 11:40 · pre 274 meseca #1
Pronasao sam JS "Slide down menu". Sve radi, samo bi hteo jednu izmenu koju ne znam kako da uradim. Nekoliko heading u mom meniju nema subheading, pa treba ti meniji da da se ponasaju kao redovni linkovi umesto da pozivaju slide down funkciju.
Ovo je skript :

Code:

  var height = 30; // height of the menu headers
  var iheight = 30; // height of the menu_items
  
  var bgc = "#FFFFFF" // background color of the item
  var tc = "#2E5C8B" // text color of the item
  
  var over_bgc = "#FFFFFF";
  var over_tc = "red";
  
  var speed = -10;
  var timerID = "";
  var N = (document.all) ? 0 : 1;
  var width = 300
  


  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; //-h
      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+"' onmouseover='pull_down("+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:400");
    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; //-h
     self_menu[smc] = new Array(tmn,h,0);
     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
}

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)
{
 name = "down" + (nr-1);
 obj = document.getElementById(name).style.clip = "rect(0,"+width+","+(nowv+1)+",0)";
 for (i=nr;i<self_menu.length;i++)
 {
  name = "down" + i;
  obj = document.getElementById(name);
  obj.style.top = parseInt(obj.style.top)+1;
 }
 nowv++;
 if(nowv < to) timerID = setTimeout("epull_down("+nr+","+to+","+nowv+")",speed);
 else timerID = "";
}

function epull_up(nr,to,nowv)
{
 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)-1;
 }
 nowv--;
 if(nowv > to) timerID = setTimeout("epull_up("+nr+","+to+","+nowv+")",speed);
 else timerID = "";
}

function startup(nr)
{
 write_menu();
 if (nr != 0)
 {
 for(i=0;i<self_menu.length;i++)
 {
  if(self_menu[i][3] == nr) pull_down(i,nr)
  i==self_menu.length;
 }
 }
}



mod (noviKorisnik) - kod stavljen u [code] tag

[Ovu poruku je menjao noviKorisnik dana 24.04.2004. u 04:06 GMT]
Re: Java Script pomoc 21.04.2004. u 13:39 · pre 274 meseca #2
Kod koji si dao sam za sebe neobavlja nista.

Cak nepostoji nigde definisana promenljiva 'Link'.

Postuj kompletan kod pa da razjasnimo problem.
Potpis
Flash komponenta za atraktivan prikaz vesti na sajtu:
www.flash-news-ticker.com
Re: Java Script pomoc 21.04.2004. u 13:48 · pre 274 meseca #3
Evo i html-a :
<html>

<head>
<meta http-equiv="Content-Language" content="sr">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Republicki zavod za razvoj</title>
<link rel="stylesheet" href="meni.css" type="text/css">
<base target="_self">

</head>

<body>

<body bgproperties="fixed" bgcolor="#F2F2F2" background="images/pozadina.gif">

<p align="center">
<img border="0" src="../_Web%20sajt/sajt/PROJEKTI.gif" width="244" height="77"></p>
<script LANGUAGE="JavaScript">

function goToURL() { history.go(-1); }

</script>

<style>
.menu

{
position:relative;
background-color:white;
width:400;
color:blue;
font-size:12px;
font-family:arial;
font:bold;
position:absolute;
cursor:se-resize;
}

.item_panel

{
width:400;
clip:rect(0,150,0,0);
position:absolute;
}

.item_panel a

{
text-decoration:none;
width:400;
color:darkblue;
cursor:hand;
}

.item

{
background-color:white;
width:400;
font-size:12px;
font-family:arial;
}

</style>

<script language="JavaScript" src="sliding_menu.js"></script>
<center>
<table width="300" height="150"><tr><td>


<script language="JavaScript">

//Link[nr] = "position [0 is menu/1 is item],Link name,url,target (blank|top|frame_name)"

var Link = new Array();

Link[0] = "0|Analiza poslovanja preduzeća prerađivačke industrije|http://www.razvoj.sr.gov.yu/Projekti/Analiza poslovanja preduzeca preradivacke industrije.htm";
Link[1] = "1|2002.g. (&#1112;ul 2003)|http://www.razvoj.sr.gov.yu/Projekti/Analiza poslovanja javnih preduzeca/Period 2002/JP-2002-uvod.htm|";
Link[2] = "1|I-VI 2002.g. (oktobar 2002)|http://www.razvoj.sr.gov.yu/Projekti/Analiza poslovanja javnih preduzeca/Period I-VI 2002/JP I-VI 2002-uvod.htm|";
Link[3] = "1|2001.g. (&#1112;ul 2002)|http://www.razvoj.sr.gov.yu/Projekti/Analiza poslovanja javnih preduzeca/Period 2001/JP-2001-uvod.htm|";
Link[4] = "0|100 najuspešnijih preduzeća u Srbiji u 2002. godini (avgust 2003.)|http://www.razvoj.sr.gov.yuProjekti/100 najuspesnijih/100naj uvod.htm"
Link[5] = "0|Analize poslovanja javnih preduzeća";
Link[6] = "1|2002.g. (&#1112;ul 2003)|http://www.razvoj.sr.gov.yu/Projekti/Analiza poslovanja javnih preduzeca/Period 2002/JP-2002-uvod.htm|";
Link[7] = "1|I-VI 2002.g. (oktobar 2002)|http://www.razvoj.sr.gov.yu/Projekti/Analiza poslovanja javnih preduzeca/Period I-VI 2002/JP I-VI 2002-uvod.htm|";
Link[8] = "1|2001.g. (&#1112;ul 2002)|http://www.razvoj.sr.gov.yu/Projekti/Analiza poslovanja javnih preduzeca/Period 2001/JP-2001-uvod.htm|";
Link[9] = "0|Strategija smanjenja siromaštva (juli 2003)";
Link[10] = "0|Analiza razvoja MSP i preduzetništva u Srbiji";
Link[11] = "0|Program komunalne infrastrukture 2002-2006";

startup();

</script>

<p>&nbsp;</p>


</body>

</html>
Re: Java Script pomoc 21.04.2004. u 14:56 · pre 274 meseca #4
Javlja neke greske... najbolje probaj ponovo jer je lako.

Ja sam skinuo js kod sa: http://javascript.internet.com/navigation/sliding_menu.js
i kod za bodu sa: http://javascript.internet.com/navigation/slide-down-menu.html
tu ujedno postoji i primer.

i to sve lepo funkcionise.
Potpis
Flash komponenta za atraktivan prikaz vesti na sajtu:
www.flash-news-ticker.com
Re: Java Script pomoc 21.04.2004. u 16:13 · pre 274 meseca #5
I ja sam sve to skinuo sa tog sajta. Taj primer funkcionise zato sto svaki heading ima subheading. Tako mi funkcionise. Ali u mom meniju nema svaki heading subheading i potrebno mi je da heading koji nema subheading umesto da poziva funkciju pulldown ima link koji vodi na neku drugu stranu
Re: Java Script pomoc 24.04.2004. u 03:42 · pre 274 meseca #6
U ovom slučaju imaš 2 rešenja:

1. Promeni strukturu stavki u meniju tako da svaki naslov ima svoje podnaslove, ako tako već radi.
2. Potraži neki drugi skript.

Ovaj skript je pravljen tako da bude što jednostavnija definicija stavki menija (tekst razdvojen znacima "|", prvi deo teksta označava radi li se o naslovu ili podnaslov, zatim sledi tekstualni opis, a ako je u pitanju podnaslov dolaze još i adresa linka i opciono ime prozora u kome se otvara stranica klikom na link). Pored toga sledi i pretpostavku da za svaki naslov postoje podnaslovi. Na naslovima nisu predviđeni linkovi, što je ovde problem.

U tvom kodu si definisao Link niz sa većim brojem grešaka u odnosu na ovako pretpostavljena pravila, i pogrešno pozvao funkciju startup. Postoji li uputstvo za korištenje skripte možda?
Potpis
BoxUp
interesantna logička igra
Monty Hall paradoks - interaktivni demo
Re: Java Script pomoc 26.04.2004. u 15:28 · pre 274 meseca #7
Ne postoji uputstvo za koriscenje menija. Dosao sam nekako do nekog resenja. Ono opet nije komletno. Na nekim racunarima mi javlja gresku u IE 6 i poremeti otvaranje stranica iz drugog menija koji je nevezan za ovaj skript. Umesto da otvara stranice u istom frejmu otvara celu novu stranu. U mozili sve super radi.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme