Hinner inte kolla igenom koden nu, men i Firefox så funkar det som det ska.
Jag håller på att försöka skapa en vettig drop-down meny. Eftersom detta funkar mindre bra har jag diverse testfiler för att försöka hitta felet. Eftersom filen innehåller både PHP, HTML, CSS och Javascript vet jag inte riktigt var jag borde posta om problemet, men det uppstår dock när jag försöker skriva ut HTML, CSS och Javascript via en funktion i PHP, varför jag valde detta forum.
Jag har en testfil:
http://www.tydal.nu/aasah/Lab/fishTryIncl.php
Den inkluderar en menyfil, fishTrySec.php och blir hur tjusig som helst. Länkarna går ingenstans, men själva menyn bär sig civiliserat åt.
Men, när jag ska anpassa menyn till min verkliga sida, vill jag kunna ändra innehåll/utseende baserat på vissa variabler. (Val av topbanner, val av CSS-fil, osv.) Följdaktligen vill jag skriva ut även själva header-delen via en funktion, inte som statisk HTML. Så, då konstruerar jag en testfil som skriver ut samma meny, samma Javascriptkod och samma HTML, MEN via ett funktionsanrop med variabler - och plötsligt funkar ingenting!!! :o :q
I min nya testfil:
http://www.tydal.nu/aasah/Lab/fishTryIncl3.php
stannar rullgardinsmenyerna nere!!! Om man en gång lockat fram dem, så fortsätter de att synas vare sig man håller kvar musen eller ej???? Hur ända in i glödheta ... är det möjligt? VARFÖR? (Åtminstone i IE v 5.50.) Kan det vara så att det beror på vilken webbläsare man har? Hur löser man det? Lite kod...
//fishTry3.php - knäpp
<?php
session_start();
$url = "http://...";
$servPath = "/home/aasah/www/";
//Ska endast anropas från printHeader
function printMenu() {
//Identisk med andra filen
}
//Anropas från fishTryIncl3.php
function printHeader($title = "", $google = "", $css = "fishMerge.css") {
global $url, $servPath;
if ($title != "") $title = "<title> [T&T] $title </title>";
else $title = "<title> [T&T] </title>";
//Lägg till stopp för sökmotorer
if ($google != "hittaOK")
$googleInfo = "<meta name=\"robots\" content=\"noindex\">";
else $googleInfo = "";
$href = "href=\"$css\"";
$head = <<< EOHEADSTART
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
$google
$title
<link $href rel="stylesheet" type="text/css">
EOHEADSTART;
$js = <<< EOJSCRIPT
<script type="text/javascript">
// identiskt med den andra filen
</script>
EOJSCRIPT;
echo "$head";
echo "$js";
echo "</head>
<body>";
printMenu();
}
?>
//fishTrySec.php - fungerar
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="robots" content="noindex">
<title>Just a simple test</title>
<link href="fishMerge.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
sfHover = function() {
var sfEls = document.getElementById("nav").getElementsByTagName("LI");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
</script>
</head>
<body>
<?php
//Anropas från fishTryIncl.php
function printMenu() {
//...
}
?>

