Help! javascript раскрытия меню
вот кусок кода,в javacript вообще ziro
при наведение блок меню он раскрывается полностью,но что бы он свернулся обратно,необходимо еще раз на него навести. А необходимо чтобы оно закрывалось при выходи курсора из зоны блока. за раскрытие я так понимаю отвечает onmouseenter="open_hide_items(this, '.first-top-menu-content-menu');" но как править,не могу сообразить <div id="wrap-top-inner-menu" class="wrap-top-inner-menu hidden-xs"> <div id="slide-inner-menu" class="wrap-item"> <? $cnt = 0; $j=0; $n=0; $m=0; $NeedClose=false; foreach($arResult as $arItem): if(($j==0 && $arResult[0]['MENU_SHOW']!=-1 && ($arResult[0]['MENU_SHOW']<$arResult[0]['CATALOG_MENU_CNT'] || $arResult[0]['MENU_SHOW']==0)) || ($j>0 && ($j<=$arResult[0]['MENU_SHOW'] || $arResult[0]['MENU_SHOW']==-1 || $arResult[0]['MENU_SHOW']==0 || $arItem['PARAMS']['FROM_IBLOCK']!=1))) { ?> <div class="item <?=($j==0)?'first-item':''?>"> <div class="row"> <?if($j==0): ?> <div class="col-sm-24 wrapper-first-top-menu-content"> <div class="first-top-menu-content"> <?foreach($arResult as $FirstLevelItem) { if($m<$arResult[0]['MENU_SHOW']+1 && $arItem['MENU_SHOW']!=0) { ++$m; continue; } if(!is_array($FirstLevelItem) || count($FirstLevelItem)<1 || !$FirstLevelItem['PARAMS']['FROM_IBLOCK']) { continue; } if($n%5==0 ) { $NeedClose=true; ?> <div class="first-top-menu-content-menu-row"> <? } ?> <div class="first-top-menu-content-menu"> <div class="first-top-menu-content-menu-title-wrapper"> <a class="<?if($FirstLevelItem["SELECTED"]):?>active<?endif;?> first-top-menu-content-menu-title" href="<?=$FirstLevelItem['LINK'] ?>"><?=$FirstLevelItem['TEXT'] ?></a> </div> <div class="first-top-menu-content-menu-childmenu"> <? if(isset($FirstLevelItem['INNER_MENU']) && is_array($FirstLevelItem['INNER_MENU']) && count($FirstLevelItem['INNER_MENU'])) { ?> <? $CntInInnerMenu=0; $NeedHide=false; foreach($FirstLevelItem['INNER_MENU'] as $SecondLevelItem) { if($CntVisibleInInnerMenu<=$CntInInnerMenu && !$NeedHide) { $NeedHide=true; ?> <div class="childmenu-hide"> <? } ?> <div class="childmenu-item <?=(isset($SecondLevelItem['INNER_MENU']) && count($SecondLevelItem['INNER_MENU'])>0)?'dropdown':'' ?> <?=($arResult[0]['SHOW_THIRD']!='Y')?'li-open':'' ?>"> <?if(isset($SecondLevelItem['INNER_MENU']) && count($SecondLevelItem['INNER_MENU'])>0) { ?> <span class="open_close_top_menu" onclick="open_close_menu(this, '.first-top-menu-content-menu-childmenu-third');"></span> <? }?> <a <?if($SecondLevelItem["SELECTED"]):?>class="active"<?endif;?> href="<?=$SecondLevelItem['LINK'] ?>"><?=$SecondLevelItem['TEXT'] ?></a> <? if(isset($SecondLevelItem['INNER_MENU']) && count($SecondLevelItem['INNER_MENU'])>0) { ?> <div class="first-top-menu-content-menu-childmenu-third" <?=($arResult[0]['SHOW_THIRD']=='Y')?'style="display:block;"':'' ?>> <? foreach($SecondLevelItem['INNER_MENU'] as $ThirdLevelItem) { ?> <a <?if($ThirdLevelItem["SELECTED"]):?>class="active"<?endif;?> href="<?=$ThirdLevelItem['LINK'] ?>"><?=$ThirdLevelItem['TEXT'] ?></a> <? } ?> </div> <? } ?></div><? ++$CntInInnerMenu; } if($NeedHide) { ?></div> <div class="hide-bottoms" onmouseenter="open_hide_items(this, '.first-top-menu-content-menu');"> <div class="hide-bottoms-inner"> <!--<span class="hide-bottom"></span> <span class="hide-bottom"></span> <span class="hide-bottom"></span>--> <span class="hide-bottoms-text"><?=GetMessage('MS_MENU_TOP_ALL_CATEGORIES')?></span> </div> </div> <? } } ?></div><? ?> </div> сайт https://nobilismarco.com/ блоки в меню бургер |
Цитата:
|
это просто я весь кусок выложил, вдруг что то упустил)
есть блок меню.....оно раскрывается в полный размер при наведение курсора на блок. Срабатывает это я так понимаю благодаря событию onmouseenter onmouseenter="open_hide_items(this, '.first-top-menu-content-menu')" но обратно оно не закрывается при выходе курсора за пределы блока,а только если снова навести курсор на блок. Тобишь навел - оно открылось, еще раз навел - оно закрылось. А нужно чтобы оно само закрывалось при выходе курсора за пределы блока. Почитал что это реализуется через onmouseleave, но как реализовать? подскажите пожалуйста) |
Часовой пояс GMT +3, время: 10:55. |