Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.06.2021, 12:02
Новичок на форуме
Отправить личное сообщение для ArtemY777 Посмотреть профиль Найти все сообщения от ArtemY777
 
Регистрация: 23.05.2021
Сообщений: 5

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/ блоки в меню бургер

Последний раз редактировалось ArtemY777, 28.06.2021 в 12:05.
Ответить с цитированием
  #2 (permalink)  
Старый 29.06.2021, 12:47
Кандидат Javascript-наук
Отправить личное сообщение для od0201 Посмотреть профиль Найти все сообщения от od0201
 
Регистрация: 07.05.2020
Сообщений: 108

Сообщение от ArtemY777 Посмотреть сообщение
вот кусок кода,в javacript вообще ziro...
так это и не javacript, осмелюcь предположить, что это PHP, попробуйте задать этот вопрос в этой ветке форума
Ответить с цитированием
  #3 (permalink)  
Старый 29.06.2021, 17:14
Новичок на форуме
Отправить личное сообщение для ArtemY777 Посмотреть профиль Найти все сообщения от ArtemY777
 
Регистрация: 23.05.2021
Сообщений: 5

это просто я весь кусок выложил, вдруг что то упустил)

есть блок меню.....оно раскрывается в полный размер при наведение курсора на блок. Срабатывает это я так понимаю благодаря событию onmouseenter

onmouseenter="open_hide_items(this, '.first-top-menu-content-menu')"

но обратно оно не закрывается при выходе курсора за пределы блока,а только если снова навести курсор на блок. Тобишь навел - оно открылось, еще раз навел - оно закрылось.

А нужно чтобы оно само закрывалось при выходе курсора за пределы блока. Почитал что это реализуется через onmouseleave, но как реализовать? подскажите пожалуйста)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вертикальное меню аккордеон ColT Javascript под браузер 2 24.02.2020 13:51
Горизонтальное меню в двумя подменю по клику uliana-new Элементы интерфейса 1 31.03.2019 16:56
JavaScript - Option, результаты из выпадающего меню. Результаты с большим количеством voron1990 Общие вопросы Javascript 3 30.04.2015 09:04
Меню для сайта. Javascript код Chuck Finley Элементы интерфейса 4 26.02.2015 01:00
Как переделать простое меню для сайта на javascript? denspb Работа 2 16.07.2010 01:25