ElsyV
Gebruiker
- Lid geworden
- 7 sep 2007
- Berichten
- 218
In een php-lus staat een tabbed-menu met javascript.
Het eerste menu werkt goed maar de menu's die eronder komen te staan werken niet.
Wie weet hoe ik dit op kan lossen?
Ik weet niets van javascript dus hopelijk kan iemand mijn script aanpassen.
Dit stukje staat in de index net voor de </head>-tag:
Dit is de code die ik aanroep waar de menu's moeten verschijnen; tabbladen.php:
Dit is het .js bestand:
[JS]onload = function() {
var e, i = 0;
while (e = document.getElementById('gallery').getElementsByTagName ('DIV') [i++]) {
if (e.className == 'on' || e.className == 'off') {
e.onclick = function () {
var getEls = document.getElementsByTagName('DIV');
for (var z=0; z<getEls.length; z++) {
getEls[z].className=getEls[z].className.replace('show', 'hide');
getEls[z].className=getEls[z].className.replace('on', 'off');
}
this.className = 'on';
var max = this.getAttribute('title');
document.getElementById(max).className = "show";
}
}
}
}[/JS]
En dit is een stuk van de php-lus die er voor zorgt dat er bv. 10x dit menu onder elkaar moet verschijnen met verschillende inhoud:
Het eerste menu werkt goed maar de menu's die eronder komen te staan werken niet.
Wie weet hoe ik dit op kan lossen?
Ik weet niets van javascript dus hopelijk kan iemand mijn script aanpassen.
Dit stukje staat in de index net voor de </head>-tag:
HTML:
<link rel="stylesheet" media="all" type="text/css" href="tabbed_pages.css" />
<script src="tabbed_pages.js" type="text/javascript"></script>
Dit is de code die ik aanroep waar de menu's moeten verschijnen; tabbladen.php:
HTML:
<div id="gallery">
<div class="on" title="tab1"><span>tab1</span></div>
<div class="off" title="tab2"><span>tab2</span></div>
<div class="off" title="tab3"><span>tab3</span></div>
</div>
<div id="tab1" class="show">
inhoud tab1
</div>
<div id="tab2" class="hide">
inhoud tab2
</div>
<div id="tab3" class="hide">
inhoud tab3
</div>
Dit is het .js bestand:
[JS]onload = function() {
var e, i = 0;
while (e = document.getElementById('gallery').getElementsByTagName ('DIV') [i++]) {
if (e.className == 'on' || e.className == 'off') {
e.onclick = function () {
var getEls = document.getElementsByTagName('DIV');
for (var z=0; z<getEls.length; z++) {
getEls[z].className=getEls[z].className.replace('show', 'hide');
getEls[z].className=getEls[z].className.replace('on', 'off');
}
this.className = 'on';
var max = this.getAttribute('title');
document.getElementById(max).className = "show";
}
}
}
}[/JS]
En dit is een stuk van de php-lus die er voor zorgt dat er bv. 10x dit menu onder elkaar moet verschijnen met verschillende inhoud:
PHP:
<?php
$query1 = "SELECT * FROM linken_nieuw WHERE subrubriek_id = ".$_GET['subrubriek_id']." AND zichtbaar <> FALSE ORDER BY naam ".$sort." LIMIT ".$offset;
$result1 = mysql_query($query1) or die (mysql_error());
while($row1 = mysql_fetch_assoc($result1))
{
//begin van de tabel met verschillende inhoud
include("tabbladen.php");
}
?>
Laatst bewerkt: