Jeg vil så gerne bruge nedenstående menu, som kan folde ud og folde sammen og det virker fint altsammen. StarglowOne, som har lavet den, har tilsyneladende pakket sammen mht php-fusion, så nu spørger jeg her.
Menuen har det ene lille problem at når man klikker på et link, ruller menuen op og man skal begynde forfra. Det kan lyde som en meget lille detalje, men til dagligt brug er det virkelig irriterende. Altså hvordan får man menuen til at forblive åben, når man klikker på et link?
Se eksempler på
www.randlevskolen.dk
www.gudmundraskpedersen.dk
<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2008 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| SH CSS Navigation Panel
| Copyright © 2008-2009 Stephan Hansson (StarglowOne)
| http://www.starglowone.eu/
+--------------------------------------------------------+
| Filename: sh_css_navigation_panel.php
| Author: Stephan Hansson (StarglowOne)
| Original Author: Nick Jones (Digitanium)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }
/* Settings START */
define("NAV_TYPE", "click"); // mouse over or click to open (mouse / click)
define("NAV_CSPEED", "800"); // Speed for the click menu to fold out, default 300
define("NAV_MSPEED", "1000"); // Speed for the mouse over menu to fold out, default 500
/* Settings END */
if(NAV_TYPE == "click") {
echo '<script type="text/javascript">
jQuery(document).ready(function(){
//slides the element with class "navigation_body" when paragraph with h2 is clicked
jQuery("#navigation h2.navigation_head").click(function() {
jQuery(this).css({backgroundImage:"url('.get_image('down').')"}).next
("div.navigation_body").slideToggle(300).siblings("div.navigation_body").slideUp("slow");
jQuery(this).css({backgroundRepeat:"no-repeat"});
jQuery(this).siblings("h2.navigation_head").css({backgroundImage:"url('.get_image('left').')"});
jQuery(this).siblings("h2.navigation_head").css({backgroundPosition:"center right"});
jQuery(this).siblings("h2.navigation_head").css({backgroundRepeat:"no-repeat"});
});
});
</script>';
}
if(NAV_TYPE == "mouse") {
echo '<script type="text/javascript">
jQuery(document).ready(function(){
//slides the element with class "navigation_body" when mouse is over the paragraph
jQuery("#navigation h2.navigation_head").mouseover(function() {
jQuery(this).css({backgroundImage:"url('.get_image('down').')"}).next("div.navigation_body").slideDown
('.NAV_MSPEED.').siblings("div.navigation_body").slideUp("slow");
jQuery(this).css({backgroundRepeat:"no-repeat"});
jQuery(this).siblings("h2.navigation_head").css({backgroundImage:"url('.get_image('left').')"});
jQuery(this).siblings("h2.navigation_head").css({backgroundPosition:"center right"});
jQuery(this).siblings("h2.navigation_head").css({backgroundRepeat:"no-repeat"});
});
});
</script>';
}
add_to_head('<style type="text/css">
#navigation h2 {
margin: 1px;
background-image: url('.get_image('left').');
background-position: center right;
background-repeat: no-repeat;
}
#navigation h2:hover {
cursor: pointer;
}
.navigation_head {
background: url('.get_image('left').') center right no-repeat;
}
.navigation_body {
display:none;
}
</style>');
$list_open = false;
openside($locale['global_001']);
$result = dbquery(
"SELECT tl.link_name, tl.link_url, tl.link_window, tl.link_order FROM ".DB_SITE_LINKS." tl
WHERE ".groupaccess('tl.link_visibility')." AND link_position<='2'
ORDER BY link_order"
);
if (dbrows($result)) {
echo "<div id='navigation'>\n"; // start sidebar
while($data = dbarray($result)) {
if ($data['link_name'] != "---" && $data['link_url'] == "---") {
if ($list_open) { echo "</ul></div>\n"; $list_open = false; }
$imagename = strtolower(str_replace(" ","_",$data['link_name']));
if (file_exists(INFUSIONS."sh_css_navigation_panel/images/".$imagename.".png")) {
$nav_img = "<img src='".INFUSIONS."sh_css_navigation_panel/images/".$imagename.".png'
border='0' alt='".$data['link_name']."' /> \n";
} else {
$nav_img = "";
}
echo "<h2 class='navigation_head'>".$nav_img.$data['link_name']."</h2>\n";
echo "<div class='navigation_body'>\n";
} else if ($data['link_name'] == "---" && $data['link_url'] == "---") {
if ($list_open) { echo "</ul></div>\n"; $list_open = false; }
echo "";
} else {
if (!$list_open) { echo "<ul>\n"; $list_open = true; }
$link_target = ($data['link_window'] == "1" ? " target='_blank'" : "");
if (strstr($data['link_url'], "http://") || strstr($data['link_url'], "https://")) {
echo "<li><a href='".$data['link_url']."'".$link_target."
class='side'>".THEME_BULLET." <span>".$data['link_name']."</span></a></li>\n";
} else {
echo "<li><a href='".BASEDIR.$data['link_url']."'".$link_target."
class='side'>".THEME_BULLET." <span>".$data['link_name']."</span></a></li>\n";
}
}
}
if ($list_open) { echo "</ul>\n"; }
echo "</div>\n"; // end sidebar
echo "</div>\n";
} else {
echo $locale['global_002'];
}
closeside();
?>