09. juni 2003 - 03:21
Der er
5 kommentarer og
1 løsning
DHTML hjælp (Ja, det er en dum titel)
Hej!
1. Undskyld titlen ... Kunne ikke finde på noget bedre her kl 3:15 ...
2. Mit problem:
Jeg har fundet mig en fin DHTML menu, som jeg bruger til indhold af siden istedet.
Det jeg skal bruge hjælp til, er en måde at få "Content" til at forblive åben efter et klik på et link. Altså hvis en bruger klikker på "links" ( henvisende til fx index.php?s=links ) i menuen, så forbliver dhtml-tingen åben, men nu med links...
Håber I forstod!
Og på forhånd tak!
// eLLERT
ps. Jeg går i seng nu, men håber, der er svar i morgen...
Hvis jeg har forstået dig ret, vil du trigge, at contents-menuen åbnes, når du har været på serveren og genereret en hel ny side, bla. med et andet indhold i den menu-div ?-)
Det er lidt tricky, fordi menuen først skabes faktisk efter at resten af siden er loadet -- og normalt ville jeg kigge efter en løsning med onload, men den har menu-constructoren overtaget ,-)
Menuen lavede forøvrigt javascript-fejl, fordi den var indstillet til at tage antallet af menuer som en mere end tallet som blev skrevet, dvs. man skal sætte antallet af menuer til det nummer de har ...
Lige nu har du kun en divTopMenu0, så skal antallet sættes til 0 -- efterhånden som du tilføjer skal du så tilføje divTopMenu1, divTopMenu2 osv. og justere tallet til hhv. 1, 2 osv.
Jeg fandt dog en løsning, som kræver at du i dit php-script sætter en bestemt værdi inde i javascript-blokken til 0 eller 1, alt efter om du vil have contenst-menuen til at åbne eller ej !-)
Med vilje har jeg placeret den værdi næsten sidst i javascriptet før </head>, så du kan bruge det til at finde stedet:
//Calls the init function onload if the browser is ok...
function init(){
newsMenuInit();
if (openMenu0==1){
topMenu(0);
}
}
var openMenu0 = 0 //Hvis denne værdi er 1 vil den første menu åbne efter at menuerne er lavet
if (bw.bw) onload = init;//newsMenuInit;
</script>
</HEAD>
<BODY
-- som det er nu, er der kun to linjer mellem //Calls the ... og </script>
-- skift *ALT* mellem de to linjer ud med det du finder i det ovenstående, og sørg så for, at dit php-script udskifter 0'et efter var openMenu0 = med et 1-tal, når contents-menuen (divTopMenu0) skal åbne ...
Føj, du er smart :)
Jeg klarede det sådden her:
<?php
if(isset($_GET['c']) && $_GET['c'] != NULL) {
$c = $_GET['c'];
print '<SCRIPT> var openMenu0 = 1 </SCRIPT>';
include_once('content/'.$c.'.php');
} else {
include_once('content/news.php');
}
?>
Mange tak!
Du må hellere lave et svar ...
// eLLERT