Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

Проблема с onmouseover onmouseout!

#1 sarik1986

sarik1986
  • Пользователь
  • 1 сообщений
  • Репутация: 0
0

Отправлено 05 Сентябрь 2012 - 19:12

Здравствуйте уважаемые мастеры. Очень мне нужна ваша помощь. У меня на сайте стоит вертикальное выпадающее css меню. там у меня проблема с явой.дело в том что меню отлично работает на всех браузерах кроме Opera.если мышку наводить на категорию открывается субкатегории.когда ходишь по субподкатегориям то постоянно закрываются субкатегории.такая проблема у меня только с Оперой.Везде по всему интернету искал решение проблему ничего не нашел.Выставляю сюда код.если кто нибудь знает как помочь пожалуйста помогите.подозреваю что проблема с onmouseover и onmouseout.

PHP код подключения меню:

<?php
include "dbconn.php";
?>
<span class="side_mnu_cat"><?php echo $label['A_C']; ?></span>
<ul id="verticalmenu" class="glossymenu">
<?php
$i=0;
$category_select=mysql_query("select * from category order by categoryid");
while($category_result=mysql_fetch_array($category_select))
{
$i++;
$cat_title=$category_result['category'];
$cat_name=substr($category_result['category'],0,5);
if($cat_title != '')
?>
<li><?php echo "<a href='maincategories-".$category_result[categoryid]."-".urlconvert($cat_name).".html' /> $cat_title </a>"; ?>
<ul style="margin-top:0px;">
<div class="subbox">
<table width="0" border="0" cellspacing="0" cellpadding="0">
<div class="fl">
<?php
$query="select * from subcategory where categoryid='$category_result[categoryid]' limit 0,20";
$query1=mysql_query($query);
while($sub_cat_result=mysql_fetch_array($query1))
{
$subcat_title=$sub_cat_result['subcategory'];
$sub_cat_name=substr($sub_cat_result['subcategory'],0,5);
?>
<div class="fl" style="width:200px;"><?php echo "<a href='Subcategories-".$sub_cat_result[subcategoryid]."-".$category_result[categoryid]."-".urlconvert($sub_cat_name).".html' >$subcat_title</a>"; ?></div>
</div>

<div class="fl subbox_lne" >
<?php
$query_sub="select * from sub_cat where subcat_id='$sub_cat_result[subcategoryid]' limit 0,20";
$query_sub1=mysql_query($query_sub);
$query_num_r=mysql_num_rows($query_sub1);
$i=1;
while($sub_subcat_result=mysql_fetch_array($query_sub1))
{
$subcat_sub_title=$sub_subcat_result['sub_subcat'];
$subcat_cat_name=substr($sub_subcat_result['sub_subcat'],0,5);
?>
<div class="submnuspan" style=" width:200px;">
<?php
if($i==$query_num_r){
echo "<a href='Subsubcategories-".$sub_subcat_result[subcategoryid]."-".$sub_cat_result[subcategoryid]."-".$category_result[categoryid]."-".urlconvert($subcat_cat_name).".html' style='color:#000;font-weight:normal;' >$subcat_sub_title</a>";
}else{
echo "<a href='Subsubcategories-".$sub_subcat_result[subcategoryid]."-".$sub_cat_result[subcategoryid]."-".$category_result[categoryid]."-".urlconvert($subcat_cat_name).".html' style='color:#000;font-weight:normal;' >$subcat_sub_title,</a>";
}
?>
</div>
<?php
$i++;
}
?>
</div>
<div class="clr"></div>
<?php } ?>
</table>
</div>
</ul>
</li>
<?php
}
?>
</ul>

JS код:

var menuids=new Array("verticalmenu") //Enter id(s) of UL menus, separated by commas
var submenuoffset=-2 //Offset of submenus from main menu. Default is -2 pixels.

function createcssmenu(){
for (var i=0; i<menuids.length; i++){
var ultags=document.getElementById(menuids[i]).getElementsByTagName("ul")
for (var t=0; t<ultags.length; t++){
var spanref=document.createElement("span")
spanref.className="arrowdiv"
spanref.innerHTML=" "
ultags[t].parentNode.getElementsByTagName("a")[0].appendChild(spanref)
ultags[t].parentNode.onmouseover=function(){

this.getElementsByTagName("ul")[0].style.left=this.parentNode.offsetWidth+submenuoffset+"px"
this.getElementsByTagName("ul")[0].style.display="block"
}
ultags[t].parentNode.onmouseout=function(){
this.getElementsByTagName("ul")[0].style.display="none"
}
}
}
}


if (window.addEventListener)
window.addEventListener("load", createcssmenu, false)
else if (window.attachEvent)
window.attachEvent("onload", createcssmenu)

function Open(id)
{
document.getElementById(id).style.display="block";
}

function Close(id)
{
document.getElementById(id).style.display="none";
}

function Delay(id)
{
setTimeout("Close('"+id+"')",1000);
}

CSS код:

.glossymenu, .glossymenu li ul{list-style-type: none; margin: 0; padding: 0px; width: 200px;}
.glossymenu li{position: relative; border-bottom:solid 1px #BCCEE6;}
.glossymenu li a{color:#444444; font-weight:bold;background:#ECF6FF;display: block;width: auto;padding: 5px 0;padding-left: 5px;
text-decoration: none;}
.glossymenu li a:hover{color:#E4860D; text-decoration:underline; background:#ededed;}
.glossymenu li ul{width: 200px;right: 0;top: 0;display: none;}
.glossymenu li ul a{ background:transparent; font-size:12px; color:#000099;}
.subbox{width:192px; height:auto; background-color:#ededed; font-family:Arial, Helvetica, sans-serif; padding:3px 5px 8px 3px; z-index:999; }
.subbox_lne{border-bottom:solid 1px #cccccc; width:100%;}
.submnuspan a{ float:left; display:block;}
.glossymenu .arrowdiv{position: absolute;right: 2px;}
* html .glossymenu li { float: left; height: 1%; }
* html .glossymenu li a { height: 1%; }

 

 

  • 0


Оформление форума – IPBSkins.ru