Показать сообщение отдельно
Старый 02.03.2006, 16:01
australian incognito вне форума Посмотреть профиль Отправить личное сообщение для australian incognito Найти все сообщения от australian incognito
  № 1  
Ответить с цитированием
australian incognito
 
Аватар для australian incognito

Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
Question Хитрый слайдер для меню. Как?

Суть в том, что есть 4 пункта меню, занесенных в массив items и слайдер vbn_mc. Слайдер должен в пределах меню при наведении на любой из его пунктов бегать за мышью с замедлением (что мне удалось реализовать), но при уводе мыши с меню у меня слайдер резко останавливается там, где была его последняя координата (delete vbn_mc.onEnterFrame). Меня такой расклад не совсем устраивает и хотелось бы, чтобы при уводе мыши с любого из пунктов меню, слайдер опять же с замедлением останавливался по центру соответствующего пункта.

Код:
var items = [company_btn, portfolio_btn, assoc_btn, contact_btn];
var leftLim = 20+vbn_mc._width/2;
var rightLim = 580-vbn_mc._width/2;
for (var i = items.length; i--; ) {
	var item = items[i];
	item.onRollOver = function() {
		vbn_mc.onEnterFrame = function() {
			var x = _xmouse;
			if (x<leftLim) {
				x = leftLim;
			}
			if (x>rightLim) {
				x = rightLim;
			}
			this._x += Math.round((x-this._x)/10);
		};
	};
	item.onRollOut = item.onDragOut=function () {
		for (var i = items.length; i--; ) {
			if (items[i].hitTest(x, _ymouse, true)) {
				break;
			}
		}
		if (i>=0) {
			return;
		}
		delete vbn_mc.onEnterFrame;
	};
}