bezorg de laatste berichten direct op de desktop
Welkom, Gast
Alstublieft Inloggen of Registreren.    Wachtwoord verloren?

Menu
(1 bezoeker) (1) Gast
Ga naar onderkantPagina: 123
TOPIC: Menu
#2477
Menu 6 Jaren, 2 Maanden geleden Karma: 0
Geachte dames en heren,

Klein probleempje, ik ben op zoek geweest naar een menu dat uit kan schuiven en heb het gevonden. Het menu heb ik nu ook zo gemaakt dat het in mijn site past, maar nu heb ik het volgende probleem: het menu bestaat uit héél veel code en een aparte stijlbepaling.

Mijn JavaScript kennis ligt voorlopig nog net onder het vriespunt, dus jullie zullen begrijpen dat ik er niet helemaal uit kom. Ik heb al geprobeerd om de code in een .js bestand te zetten en dat aan te roepen, maar dat werkt niet.

Het menu is hier[/url:2waljguc] te vinden.

Mijn vraag is hoe kan ik er voor zorgen dat ik zowel in de head als in de body link naar de codes die er nu in staan zodat ik niet van die grote pagina's krijg? Ik hoop dat iemand me kan helpen en als dat lukt, alvast bedankt!!!


[EDIT]Sorry, het stukje over dat het menu nu in mijn site past is niet helemaal juist, het aangepaste menu heb ik alleen nog maar lokaal...[/EDIT]
nr11
Nieuwe Gebruiker
Berichten: 0
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2478
6 Jaren, 2 Maanden geleden Karma: 0
Mooi menu!

Volgens mij heeft dit niets met javascript te maken! Maar toch:

[b:1q7uf8qw]menu.htm[/b:1q7uf8qw][code:1q7uf8qw]
<html>
<head>
<title>nieuw menu</title>
<link href="style.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function goToURL() { history.go(-1); }
</script>
<script type="text/javascript" src="menu.js"></script>
</head>
<body>
<center>
<table width=140>
<tr>
<td>
<script type="text/javascript" src="indeling.js"></script>
</td>
</tr>
</table>
</body>
</html>[/code:1q7uf8qw]
[b:1q7uf8qw]style.css[/b:1q7uf8qw]
[code:1q7uf8qw] .menu
{
background-color:#CDF;
border:2px solid darkblue;
width:150px;
font-size:11px;
font-family:verdana;
position: absolute;
font:bold;
color: #58C;
cursor: hand;
}
.item_panel
{
width:150px;
border-left:1px solid darkblue;
border-right:1px solid darkblue;
clip:rect(0,150,0,0);
position:absolute;
}
.item_panel a
{
text-decoration:none;
color:#FFF;
cursor:hand;
}
.item
{
background-color: #58C;
width: 148px;
font-size: 10px;
font-family: verdana;

}[/code:1q7uf8qw]
[b:1q7uf8qw]menu.js[/b:1q7uf8qw][code:1q7uf8qw] var height = 40; // Hoogte van de hoofdmenu linken
var iheight = 25; // hoogte van de menu elementen
var bgc = "#58C" // Achtergrondkleur menu element
var tc = "#FFF" // text kleur van het menu element
var over_bgc = "#FFF";//achtergrondkleur menu item bij mouse-over
var over_tc = "#58C"; //tekst kleur bij mouse-over
var speed = 0;
var timerID = "";
var N = (document.all) ? 0 : 1;
var width = 152;
var self_menu = new Array();
function write_menu()
{
smc = 0;
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+"' onclick='pull_down("+smc+","+mni+")'> "+ 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)'> "+ 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;
}
}
} [/code:1q7uf8qw]
[b:1q7uf8qw]indeling.js[/b:1q7uf8qw][code:1q7uf8qw] //Link[nr] = "positie [0 is menu/1 is een item],Link naam ,url,target (blank|top|frame_naam)"
// je kunt eenvoudig items toevoegen, gewoon doornummeren
var Link = new Array();
Link[0] = "0|Hoofd link 1";
Link[1] = "1|Sublink 1|http://|blank";
Link[2] = "1|Sublink 1|http://|blank";
Link[3] = "1|Sublink 1|http://|blank";
Link[4] = "1|Sublink 1|http://|blank";
Link[5] = "0|Hoofd link 2";
Link[6] = "1|Sublink 2|http://|blank";
Link[7] = "1|Sublink 2|http://|blank";
Link[8] = "1|Sublink 2|http://|blank";
Link[9] = "1|Sublink 2|http://|blank"
Link[10] = "0|Hoofd link 3";
Link[11] = "1|Sublink 3|http://|blank";
Link[12] = "1|Sublink 3|http://|blank";
Link[13] = "0|Hoofd link 4";
Link[14] = "1|Sublink 4|http://|blank";
Link[15] = "1|Sublink 4|http://|blank";
Link[16] = "1|Sublink 4|http://|blank";
Link[17] = "1|Sublink 4|http://|blank";
Link[18] = "0|Hoofd link 5";
Link[19] = "1|Sublink 5|http://|blank";
Link[20] = "1|Sublink 5|http://|blank";
Link[21] = "1|Sublink 5|http://|blank";
Link[22] = "1|Sublink 5|http://|blank";
startup(0);[/code:1q7uf8qw]

PS: In firefox zijn de letter er niet/niet te lezen.
Rik
Moderator
Berichten: 28
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2480
6 Jaren, 2 Maanden geleden Karma: 0
Beste lap code, maar wel een erg stoer menu!

Ik zou één ding toevoegen:
[code:rc6tecci]<td>
<script type="text/javascript" src="indeling.js"></script>
</td>[/code:rc6tecci]
veranderen in:
[code:rc6tecci]<td id="coolmenu">
<script type="text/javascript" src="indeling.js"></script>
</td>[/code:rc6tecci]
En dan in je stylesheet:
[code:rc6tecci]#coolmenu div { cursor: pointer; }[/code:rc6tecci]
ted
Nieuwe Gebruiker
Berichten: 0
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2482
6 Jaren, 2 Maanden geleden Karma: 0
[quote="Ted":vyswbqy3]Beste lap code, maar wel een erg stoer menu!

Ik zou één ding toevoegen:
[code:vyswbqy3]<td>
<script type="text/javascript" src="indeling.js"></script>
</td>[/code:vyswbqy3]
veranderen in:
[code:vyswbqy3]<td id="coolmenu">
<script type="text/javascript" src="indeling.js"></script>
</td>[/code:vyswbqy3]
En dan in je stylesheet:
[code:vyswbqy3]#coolmenu div { cursor: pointer; }[/code:vyswbqy3][/quote:vyswbqy3]
Ja, want de bezoeker moet natuurlijk wel uitgenodigd worden om op dat menu te klikken!

Ik had al geschreven dat ik het een mooi menu vind, maar als je per ongeluk op de verkeerde drukt, moet je wachten tot hij is ingeklapt. Kan je niet iets maken dat hij bij dubbelklik in een keer open/dicht klapt?
Rik
Moderator
Berichten: 28
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2484
6 Jaren, 2 Maanden geleden Karma: 0
Heren, bedankt voor jullie hulp, ik heb het menu nu op de site staan, maar ik denk toch dat ik iets nog niet helemaal goed gedaan heb. Het ziet er nu namelijk als volgt uit: [url=http://www.jdbdesign.nl/visscherbouw/index2.php:1er1ma0c]klik[/url:1er1ma0c].

Zoals je ziet zijn alle menuonderdelen uitgeklapt. Enig idee hoe ik deze weer terug kan krijgen??

Het menu op zich vind ik dus zelf ook wel stoer, maar het duurt inderdaad zo af en toe wel even als je een verkeerd stuk aan klikt. Daarnaast heb je ook nog het nadeel dat ik nog uitgevonden heb hoe ik van de eerste klik gelijk een link kan maken. Zoals bijvoorbeeld een Home link, daar heb ik verder weinig aan een uitschuifstuk, omdat het gewoon gelijk naar de beginpagina moet gaan.

Voorlopig ga ik aankomend weekend de code maar eens uitspitten en mijn JavaScript kennis een beetje ophogen. Bijvoorbeeld dat je een menu maakt waar je dus een uitschuifbaar deel hebt, heb een duidelijk omschrijving nog niet echt kunnen vinden. Weten jullie misschien waar een beetje goede tutorials staan over JavaScript??
nr11
Nieuwe Gebruiker
Berichten: 0
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2485
6 Jaren, 2 Maanden geleden Karma: 0
Ik heb eerst maar eens alle code die ik in mijn post had gezet in bestanden gezet, en toen deed je menu het prima. Daarna heb ik wat code van je site af gehaalt, en toen deed hij het niet meer...
Dit klopte niet:
[b:7gp6g143]style.css[/b:7gp6g143]
In .item_panel en .menu stond geen position:absolute
Zo moet ie worden:[code:7gp6g143].menu
{
background-color:#CDF;
border:2px solid darkblue;
width:120px;
font-size:11px;
font-family:verdana;
position: absolute;
font:bold;
color: #58C;
cursor: hand;
}
.item_panel
{
width:120px;
border-left:1px solid darkblue;
border-right:1px solid darkblue;
clip:rect(0,120,0,0);
position: absolute;
} [/code:7gp6g143](De rest van dat style blad moet je er maar bij denken! )
[b:7gp6g143]menu.js[/b:7gp6g143]
In plaats van:
[code:7gp6g143] var width = 152;[/code:7gp6g143]Heb je deze nodig:[code:7gp6g143] var width = 122;[/code:7gp6g143]

Zo te zien heb je je menu dus smaller gemaakt!
Rik
Moderator
Berichten: 28
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
Ga naar bovenkantPagina: 123
Moderators: Rik, Roy