Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   статическое меню (https://javascript.ru/forum/dom-window/53616-staticheskoe-menyu.html)

Schokk 11.02.2015 14:53

статическое меню
 
Здравствуйте. Есть выпадающая менюшка на jQuery. Нужно сделать так, что бы после нажатия на главное меню выпадающий список оставался фиксированным. То есть если от него отвести мышку то он не пропадает.
Подскажите какое свойство за это отвечает?
Если надо могу скинуть код на codepen.io

Momon 11.02.2015 15:27

Событие mouseover происходит, когда мышь появляется над элементом, а mouseout — когда уходит из него.

Schokk 11.02.2015 15:32

Не подходит.

рони 11.02.2015 15:34

Schokk,
делайте макет

Schokk 11.02.2015 15:41

в смысле?

рони 11.02.2015 15:44

Schokk,
где код?

Schokk 11.02.2015 15:52

http://codepen.io/anon/pen/yypvjm

рони 11.02.2015 16:33

Цитата:

Сообщение от Schokk
Есть выпадающая менюшка на jQuery

где ???
что делает ваш код и зачем он нужен известно только вам (строки 346-349)
ниже код клик на Анонсы мероприятий зафиксирует выпавшее меню
<!DOCTYPE html><html class=''>
<head><meta charset='UTF-8'>
<style class="cp-pen-styles">
body{
		font: 13px 'trebuchet MS', Arial, Helvetica;
	}

	#menu, #menu ul {
		margin: 0;
		padding: 0;
		list-style: none;
    display: block;
	}

	#menu {
		width: 960px;
		margin: 60px auto;
		border: 1px solid #2c4f75;
		background-color: #2c4f75;
		border-radius: 6px;
		box-shadow: 0 1px 1px #777, 0 1px 0 #666 inset;
	}

	#menu:before,
	#menu:after {
		content: "";
		display: table;
	}

	#menu:after {
		clear: both;
	}

	#menu {
		zoom:1;
	}

	#menu li {
		float: left;
		border-right: 1px solid #222;
		box-shadow: 1px 0 0 #444;
		position: relative;
	}

	#menu a {
		float: left;
		padding: 12px 30px;
		color: #999;
		text-transform: uppercase;
		font: bold 12px Arial, Helvetica;
		text-decoration: none;
		text-shadow: 0 1px 0 #000;
    color:white;
	}

	#menu li:hover > a {
		color: #fafafa;
	}

	*html #menu li a:hover { /* IE6 only */
		color: #fafafa;
	}

	#menu ul {
		margin: 20px 0 0 0;
		_margin: 0; /*IE6 only*/
		opacity: 0;
		visibility: hidden;
		position: absolute;
		top: 38px;
		left: 0;
		z-index: 1;
		background: white;
		background: linear-gradient(#red, #111);
		box-shadow: 0 -1px 0 rgba(255,255,255,.3);
		border-radius: 3px;
		transition: all .2s ease-in-out;
	}

	#menu li:hover > ul {
		opacity: 1;
		visibility: visible;
		margin: 0;
	}
   	#menu li > ul.hover{
       	opacity: 1;
		visibility: visible;
		margin: 0;
    }

	#menu ul ul {
		top: 0;
		left: 150px;
		margin: 0 0 0 20px;
		_margin: 0; /*IE6 only*/
		box-shadow: -1px 0 0 rgba(255,255,255,.3);
	}

	#menu ul li {
		float: none;
		display: block;
		border: 0;
		_line-height: 0; /*IE6 only*/
		box-shadow: 0 1px 0 #111, 0 2px 0 #666;
	}

	#menu ul li:last-child {
		-moz-box-shadow: none;
		-webkit-box-shadow: none;
		box-shadow: none;
	}

	#menu ul a {
		padding: 10px;
		width: 195px;
		_height: 10px; /*IE6 only*/
		display: block;
		white-space: nowrap;
		float: none;
		text-transform: none;
    color:#3c5a7e;
	}

	#menu ul a:hover {
		background-color: #0186ba;
		background-image: linear-gradient(#04acec, #0186ba);
	}

	#menu ul li:first-child > a {
		border-radius: 3px 3px 0 0;
	}

	#menu ul li:first-child > a:after {
		content: '';
		position: absolute;
		left: 40px;
		top: -6px;
		border-left: 6px solid transparent;
		border-right: 6px solid transparent;
		border-bottom: 6px solid #444;
	}

	#menu ul ul li:first-child a:after {
		left: -6px;
		top: 50%;
		margin-top: -6px;
		border-left: 0;
		border-bottom: 6px solid transparent;
		border-top: 6px solid transparent;
		border-right: 6px solid #3b3b3b;
	}

	#menu ul li:first-child a:hover:after {
		border-bottom-color: #04acec;
	}

	#menu ul ul li:first-child a:hover:after {
		border-right-color: #0299d3;
		border-bottom-color: transparent;
	}

	#menu ul li:last-child > a {
		-moz-border-radius: 0 0 3px 3px;
		-webkit-border-radius: 0 0 3px 3px;
		border-radius: 0 0 3px 3px;
	}

	/* Mobile */
	#menu-trigger {
		display: none;
	}

	@media screen and (max-width: 600px) {

		/* nav-wrap */
		#menu-wrap {
			position: relative;
		}

		#menu-wrap * {
			-moz-box-sizing: border-box;
			-webkit-box-sizing: border-box;
			box-sizing: border-box;
		}

		/* menu icon */
		#menu-trigger {
			display: block; /* show menu icon */
			height: 40px;
			line-height: 40px;
			cursor: pointer;
			padding: 0 0 0 35px;
			border: 1px solid #222;
			color: #fafafa;
			font-weight: bold;
			background-color: #111;
						border-radius: 6px;
			box-shadow: 0 1px 1px #777, 0 1px 0 #666 inset;
		}

		/* main nav */
		#menu {
			margin: 0; padding: 10px;
			position: absolute;
			top: 40px;
			width: 100%;
			z-index: 1;
			background-color: #444;
			display: none;
			box-shadow: none;
		}

		#menu:after {
			content: '';
			position: absolute;
			left: 25px;
			top: -8px;
			border-left: 8px solid transparent;
			border-right: 8px solid transparent;
			border-bottom: 8px solid #444;
		}

		#menu ul {
			position: static;
			visibility: visible;
			opacity: 1;
			margin: 0;
			background: none;
			box-shadow: none;
		}

		#menu ul ul {
			margin: 0 0 0 20px !important;
			box-shadow: none;
		}

		#menu li {
			position: static;
			display: block;
			float: none;
			border: 0;
			margin: 5px;
			box-shadow: none;
		}

		#menu ul li{
			margin-left: 20px;
			box-shadow: none;
		}

		#menu a{
			display: block;
			float: none;
			padding: 0;
			color: #999;
		}

		#menu a:hover{
			color: #fafafa;
		}

		#menu ul a{
			padding: 0;
			width: auto;
		}

		#menu ul a:hover{
			background: none;
		}

		#menu ul li:first-child a:after,
		#menu ul ul li:first-child a:after {
			border: 0;
		}

	}

	@media screen and (min-width: 600px) {
		#menu {
			display: block !important;
		}
	}

	/* iPad */
	.no-transition {
		transition: none;
		opacity: 1;
		visibility: visible;
		display: none;
	}

	#menu li:hover > .no-transition {
		display: block;
	}</style></head><body>
<nav id="menu-wrap">
	<ul id="menu">
		<li>
			<a>Анонсы мероприятий</a>
			<ul>
				<li>
					<a href="">Выставка</a>
									</li>
				<li>
					<a href="">Гигиена, пародонтология</a>
									</li>
				<li>
					<a href="">Зуботехника</a>
				</li>
				<li>
					<a href="">Неотложные состояния</a>
									</li>
				<li>
					<a href="">ортодонтия</a>
									</li>
				<li>
					<a href="">Ортопедитечская стоматология</a>
									</li>
				<li>
					<a href="">Терапевтическая стоматология</a>
									</li>
				<li>
					<a href="">Управление стомат. клиникой</a>
									</li>
				<li>
					<a href="">Хирургическая стоматология</a>
									</li>
				<li>
					<a href="">Эстетическая стоматология</a>
									</li>
				<li>
					<a href="">Дентальная фотография</a>
									</li>
			</ul>
		</li>
		<li>
			<a href="">Подписаться</a>
</li>
			<li><a href="">Форум</a></li>
<li style="background-color:#528f6d"><a href="">Добавить анонс</a></li>

	</ul>
</nav>
<script src='//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js'></script>
<script>
(function () {
    $('#menu-wrap').prepend('<div id="menu-trigger">Menu</div>');
    $('#menu-trigger').on('click', function () {
        $('#menu').slideToggle();
    });
    var isiPad = navigator.userAgent.match(/iPad/i) != null;
    if (isiPad)
        $('#menu ul').addClass('no-transition');
    $('li a').on('click', function () {
        $(this).next('ul').toggleClass('hover');
    });
}());
</script>
</body>
</html>

Schokk 11.02.2015 16:49

Спасибо большое. Только подскажите пожалуйста, что конкретно вы изменили? ибо на сайте тут все работает, переношу к себе на машину, не работает.

рони 11.02.2015 17:19

Schokk,
добавил класс hover строка 85 и код 353 - 355


Часовой пояс GMT +3, время: 00:39.