|
|
|
| Сделал меню на основе выпадающего css меню. В FireFox все работает, а вот в Эксплорере почему-то вложение присутствует у всех пунктов меню. В чем может быть ошибка? Определенно не хватает еще какого-то условия выбора, да вот не соображу как это сделать. Быть может где-то существуют готовые конструкции?
<ul id='cssmenu'>
<?php
$query = "SELECT * FROM menu ORDER by id_p ASC";
$new = mysql_query($query);
if(mysql_num_rows($new) > 0)
{
while($news = mysql_fetch_array($new))
{
$pp = $news['pp'];
$cat = $news['cat'];
if ($pp == 0)
echo "<li><a href=".$news['link']."ind.php?id_info=".
$news['cat'].">".$news['name']."</a></li>";
else echo "<li><a href=#>".$news['name']."</a>";
include "ppmenu.php";
echo "</li>";
}
}
?>
</ul>
файл ppmenu.php:
<ul>
<?php
$parent = $news['cat'];
$query = "SELECT * FROM pmenu
WHERE parent = $parent ORDER by pos ASC";
$nw = mysql_query($query);
if(mysql_num_rows($nw) > 0)
{
while($nws = mysql_fetch_array($nw))
{
echo "<li><a href=".$nws['link']."indx.php?id_info=".
$nws['cat'].">".$nws['name']."</a></li>";
}
}
?>
</ul>
|
Скрипт:
<script>
// JavaScript Document
function cssmenuhover()
{
if(!document.getElementById("cssmenu"))
return;
var lis = document.getElementById("cssmenu").getElementsByTagName("LI");
for (var i=0;i<lis.length;i++)
{
lis[i].onmouseover=function(){this.className+=" iehover";}
lis[i].onmouseout=function() {this.className=this.className.replace(new RegExp(" iehover\\b"), "");}
}
}
if (window.attachEvent)
window.attachEvent("onload", cssmenuhover);
</script>
|
Стиль:
<style>
/* CSS Document */
ul#cssmenu {
width:900px;
margin: 2px;
border: 0 none;
padding: 0px 0px 0px 0px;
list-style: none;
background: #000000;
color: #FFFFFF;
height: 30px;
font: bold 11px/28px Verdana, Arial;
border-left:#003366 0px solid;
}
ul#cssmenu li {
margin: 0;
border: 1px none;
left: <?php echo $left; ?>px;
padding: 0px 0px 0px 0px;
float: left;
display: inline;
list-style: none;
position: relative;
height: 30px;
}
ul#cssmenu ul {
margin: 0;
border: 0 none;
padding: 0;
width: 160px;
list-style: none;
display: none;
position: absolute;
top: 30px;
left: 0;
}
ul#cssmenu ul:after {
clear: both;
display: block;
font: 1px/0px serif;
content: ".";
height: 0;
visibility: hidden;
}
ul#cssmenu ul li {
left: 0px;
width: 170px;
height: 20px;
float: left;
display: block !important;
display: inline;
}
/* Main Menu */
ul#cssmenu a {
border: 0px;
left: 0px;
padding: 0 6px;
float: none !important;
float: left;
display: block;
background: #000000;
color: #FFFFFF;
font: bold 11px/28px Verdana, Arial;
text-decoration: none;
height: auto !important;
height: 1%;
}
/* Main Menu Hover */
ul#cssmenu a:hover,
ul#cssmenu li:hover a,
ul#cssmenu li.iehover a {
left: 0px;
background: #000000;
color:#cccccc;
border-top:#003366 0px solid;
}
/* Second Menu */
ul#cssmenu li:hover li a,
ul#cssmenu li.iehover li a {
left: 0px;
border-top: 0px solid #FFFFFF;
float: none;
background: #000000;
color: #ffffff;
}
/* Second Menu Hover */
ul#cssmenu li:hover li a:hover,
ul#cssmenu li:hover li:hover a,
ul#cssmenu li.iehover li a:hover,
ul#cssmenu li.iehover li.iehover a {
left: 0px;
border-top: 0px solid #FFFFFF;
background: #000000;
color:#cccccc;
border:#003366 0px solid;
}
ul#cssmenu ul ul {
display: none;
position: absolute;
top: 0;
left: 0px;
}
ul#cssmenu li:hover ul ul,
ul#cssmenu li.iehover ul ul {
display: none;
}
ul#cssmenu li:hover ul,
ul#cssmenu ul li:hover ul,
ul#cssmenu li.iehover ul,
ul#cssmenu ul li.iehover ul {
display: block;
}
</style>
|
| |
|
|