| Autor | Zpráva | ||
|---|---|---|---|
| Qewa Profil |
#1 · Zasláno: 2. 2. 2010, 20:34:56
Ahoj, mám menu, kde se při najetí myši změní barva položky "tlačítko" a chtěla bych, aby aktuální zobrazená položka, byla barevně odlišená i po kliknutí myši.
PHP menu: <div id="menu">
<ul>
<?php
echo "<li";
if ($str=="uvod") {
echo "class='aktivni'";
}echo "><a href='?menu=uvod'>Úvod</a></li>";
echo "<li";
if ($str=="o_nas") {
echo " class='aktivni'";
}echo "><a href='?menu=o_nas'>O nás</a></li>";
echo "<li";
if ($str=="clenove") {
echo " class='aktivni'";
}echo "><a href='?menu=clenove'>Členové</a></li>";
echo "<li";
if ($str=="clanky") {
echo " class='aktivni'";
}echo "><a href='?menu=clanky'>Články</a></li>";
echo "<li";
if ($str=="foto") {
echo " class='aktivni'";
}echo "><a href='?menu=foto'>Fotogalerie</a></li>";
echo "<li";
if ($str=="videa") {
echo " class='aktivni'";
}echo "><a href='?menu=videa'>Videa</a></li>";
echo "<li";
if ($str=="kalendar") {
echo " class='aktivni'";
}echo "><a href='?menu=kalendar'>Kalendář</a></li>";
echo "<li";
if ($str=="odkazy") {
echo " class='aktivni'";
}echo "><a href='?menu=odkazy'>Odkazy</a></li>";
echo "<li";
if ($str=="kontakty") {
echo " class='aktivni'";
}echo "><a href='?menu=kontakty'>Kontakty</a></li>";
?>
</ul>
</div> CSS: je shodné s #menu a:hover .aktivni {
background-image: url(images/menu_hover.jpg);
background-position: -20px 0px;
background-repeat: no-repeat;
width: 180px;
height: 22px;
color: #001e46;
text-decoration: none;
border-style: none;
}Pokud je v tom jen nějaká banalita, tak se omlouvám, ale je to jeden z mých prvních pokusů o web. |
||
| Chamurappi Profil |
#2 · Zasláno: 2. 2. 2010, 20:41:40 · Upravil/a: Chamurappi
Reaguji na Qewu:
A je v něčem problém? Nebo chceš jen okouknout kód? U první položky ti chybí mezera mezi <li a class='aktivni'.
|
||
| Qewa Profil |
#3 · Zasláno: 2. 2. 2010, 21:12:41
Chamurappi:
Problém je v tom, že to nefunguje :) viz www.bockujem.cz |
||
| Chamurappi Profil |
#4 · Zasláno: 2. 2. 2010, 21:18:15
Reaguji na Qewu:
Není to tím, že testuješ parametr str a vybranou položku menu máš v parametru menu?
|
||
| panther Profil |
#5 · Zasláno: 2. 2. 2010, 21:18:39
Qewa:
„Problém je v tom, že to nefunguje :)“ problém bude v tom, že jsi zkopíroval kód a nesladil jej se svým webem. Používáš podmínku if ($str=="uvod") $_GET['menu'] |
||
| Taps Profil |
#6 · Zasláno: 2. 2. 2010, 21:22:18
Qewa:
Zkus tento styl zápisu <? $oznaceni[$_GET["menu"]]= 'class="aktivni"'; echo'<ul> <li><a href="index.php?stranka=uvod" '.$oznaceni["uvod"].'>Uvod</a></li> <li><a href="index.php?stranka=test" '.$oznaceni["test"].'>Test</a></li></ul>'; ?> |
||
| Qewa Profil |
#7 · Zasláno: 2. 2. 2010, 21:25:02
Děkuju Vám, jsem fakt slepá a ani opisovat neumím... dík :)
|
||
| Qewa Profil |
#8 · Zasláno: 2. 2. 2010, 21:30:28
Ještě, že Vás otravuju. Kde může být zádrhel, že se nezmění i barva písma u aktivní založky?
|
||
| panther Profil |
#9 · Zasláno: 2. 2. 2010, 21:33:07
Qewa:
„že se nezmění i barva písma u aktivní založky?“ nemáš ji ve stylech .aktivni a {color: red} |
||
| Qewa Profil |
#10 · Zasláno: 2. 2. 2010, 21:41:45 · Upravil/a: Qewa
panther:
Měla jsem: .aktivni a{
display: block;
margin: 0px;
padding: 0px 0px 0px 0px;
height: 22px;
color: #001e46;
font-weight: bold;
text-decoration: none;
border-style: none;
}
to nepomohlo. Při určení jen barvy to taky nepomohlo. EDIT: Řeším to zbarvením pozadí na jinou barvu, když se barva textu nechce nechat přesvědčit: .aktivni {
background:#001e46 url("hover_menu.png") repeat-y left top;
|
||
| Martin R. Profil * |
#11 · Zasláno: 3. 2. 2010, 14:13:15
Martin R.:
Pouzivam tohle a slape to .. rozdil oproti tobe je ten, ze nastavuji aktivni na <a> a ne na <li> html kod:
<li <?php aktiv_menu("index.php") ?>><a href="index.php" title="Úvodní stránka">Úvodní stránka</a></li>
<li <?php aktiv_menu("aktuality.php") ?>><a href="aktuality.php" title="Aktuality">Aktuality</a></li>
<li <?php aktiv_menu("o-nas.php") ?>><a href="o-nas.php" title="O nás">O nás</a></li>
php funkce:
function aktiv_menu($page){
$path_parts = pathinfo($_SERVER['SCRIPT_NAME']);
if ($path_parts['basename'] == $page ) {
echo "class=\"aktiv\"";
}
}
css
.aktiv a {
color: #DAFD7E;
text-decoration: underline;
}
|
||
|
Časová prodleva: 16 let
|
|||
0