Показать сообщение отдельно
  #1 (permalink)  
Старый 06.11.2012, 14:31
Кандидат Javascript-наук
Отправить личное сообщение для jeysmook Посмотреть профиль Найти все сообщения от jeysmook
 
Регистрация: 24.04.2012
Сообщений: 118

Функция работает со второго раза
В этой функции hover выполняется со второго раза, а мне нужно чтобы сразу выполнялся. То есть я захожу на сайт и навожу на меню, функция стразу выполняется, а у меня она выполняется со второго раза. Почему? Спасибо.
$(document).ready(function(){
	$.fn.dynamicMenu = function(options){
		options = $.extend({
			speed: 200,
			reset: 1000,
		}, options);
		var menu = $(this);
		var firstItem = $('.firsItem', menu);
		$('<div class="hover"></div>').css({
			width: firstItem.outerWidth(),
			height: firstItem.outerHeight(),
			left: firstItem.position().left,
			top: firstItem.position().top,
		}).appendTo(this);
		hover = $('.hover', menu);
		$('div:not(.hover)', menu).hover(function(){
			clearTimeout(reset);
			hover.animate({
				width: $(this).outerWidth(),
				left: $(this).position().left,
			},{
				duration : options.speed,
				queue : false,
			});
		},function(){
				reset = setTimeout(function(){
					hover.animate({
						width: firstItem.outerWidth(),
						left: firstItem.position().left,
					}, options.speed);
				}, options.reset)
		});		
	};
	$('.menu').dynamicMenu();
});

CSS
.hover{
	display:block;
	position:absolute; padding:5px; margin:-6px 0 0 -6px; z-index:0;
	background:url(../../body/bg/hover.png); border:1px solid #24368B; color:#fff;
	border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px;
	box-shadow:0 0 2px #000; -moz-box-shadow:0 0 2px #000; -webkit-box-shadow:0 0 2px #000;
}

HTML
<div class="menu">
       <div class="firsItem"><a href="/">Главная</a></div>
       <div><a href="/">Фотографии</a></div>
       <div><a href="/">Рассказ</a></div>
</div>

Последний раз редактировалось jeysmook, 06.11.2012 в 15:05.
Ответить с цитированием