Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.11.2009, 01:04
Новичок на форуме
Отправить личное сообщение для root-xenos Посмотреть профиль Найти все сообщения от root-xenos
 
Регистрация: 06.11.2009
Сообщений: 4

выполнение javascript при движении мышкой на странице
Привет, есть такая проблема, ен могу обьеденить 2 скрипта, одни определяет движение мышью, второй открывает окно. листинг кода выложен ниже, помогите пожалуйста обьеденить эти два срипта.

скрипт1. Определение движения мыши
<script type="text/javascript">
<!--
	function getCoords() {
	// вызывается при перемещении курсора
	// над слоем с картой
		// координаты слоя с картой
		// в окне браузера
		imageMapX = findPosX(imageMap);
		imageMapY = findPosY(imageMap);
		imageMap.onmousemove = moveDot;
		imageMap.onmouseover = moveDot;
		// точку надо убирать, если курсор
		// покинул слой с картой
		imageMap.onmouseout = function (){
			myDot.style.display='none';
			};
		// координаты точки надо запомнить
		imageMap.onclick = coordsFix;
	}

	function coordsFix() {
	// функция фиксирует координаты точки при клике
		// координата X
		myForm.coordXfix.value = myForm.coordX.value;
		// координата Y
		myForm.coordYfix.value = myForm.coordY.value;
		// точка показывается
		myDot2.style.display='block';
		// и позициоируется
		myDot2.style.left = myForm.coordX.value+'px';
		myDot2.style.top = myForm.coordY.value+'px';
	}
	function moveDot(cursor) {
	// функция перемещения точки над слоем с картой
		// точку надо покзать
		myDot.style.display='block';
		if(!cursor) var cursor = window.event;
		myForm.coordX.value = '';
		myForm.coordY.value = '';
		var x = 0;
		var y = 0;
		if (cursor.pageX || cursor.pageY) {
			x = cursor.pageX;
			y = cursor.pageY;
		}
		else if (cursor.clientX || cursor.clientY) {
			x = cursor.clientX + document.body.scrollLeft;
			y = cursor.clientY + document.body.scrollTop;
		}
		x -= imageMapX;
		y -= imageMapY;
		x -= dX;
		y -= dY;
		// для наглядности координаты точки
		// показываются во временых полях формы
		// справа "X" и "Y"
		(x < 0) ? myForm.coordX.value = 0 : myForm.coordX.value = x;
		(y < 0) ? myForm.coordY.value = 0 : myForm.coordY.value = y;
		// если курсор не покинул слой с картой,
		// точка перемещается с курсором
		if (x>0 && y>0 && x<mapWdt && y<mapHgt) {
			myDot.style.left = x+"px";
			myDot.style.top = y+"px";
		}
	}
	function getObj(name) {
	// функция захвата объекта, используется при инициализации
		if (document.getElementById) return document.getElementById(name);
		else if (document.all) return document.all[name];
		else if (document.layers) return document.layers[name];
		else return false;
	}
	function findPosX(obj) {
	// X-координата слоя
		var currleft = 0;
		if (obj.offsetParent)
			while (obj.offsetParent) {
				currleft += obj.offsetLeft
				obj = obj.offsetParent;
			}
		else if (obj.x) currleft += obj.x;
		return currleft;
	}
	function findPosY(obj) {
	// Y-координата слоя
		var currtop = 0;
		if (obj.offsetParent)
			while (obj.offsetParent) {
				currtop += obj.offsetTop
				obj = obj.offsetParent;
			}
		else if (obj.y) currtop += obj.y;
		return currtop;
	}

function init() { // инициализация
	// смещение для точки
	dX = 7;
	dY = 7;
	// форма
	myForm = getObj('mapForm');
	// слой с картой
	imageMap = getObj('schemePlace');
	imageMap.onmouseover = getCoords;
	// ширина и высота слоя - смещение
	// чтобы точка за пределы картинки
	// даже не думала уходить
	mapWdt = imageMap.offsetWidth - dX;
	mapHgt = imageMap.offsetHeight - dY;
	// точки
	myDot = getObj('magDot');
	myDot2 = getObj('magDot2');
}


// ожидание загрузки страницы
// и вызов функции инициализации
try {
	window.addEventListener('load', init, false);
} catch(e) {
	window.onload = init;
}
	
	
//-->	
</script>

скрипт2. Вызов окна
popupWin = window.open("contacts.html", "contacts", "location,width=400,height=300,top=0");
popupWin.focus(); // передаём фокус новому окну


заранее большое спасибо за ответы.
Ответить с цитированием
  #2 (permalink)  
Старый 07.11.2009, 14:30
Интересующийся
Отправить личное сообщение для dionis Посмотреть профиль Найти все сообщения от dionis
 
Регистрация: 06.11.2009
Сообщений: 13

Ты не написал в чём проблема то, когда и где тебе окно открывать нужно? Такое ощущение что ты пытаешься реализовать оконный интерфейс в браузере, если так то смотри в сторону фреймверка ExtJS и подобных ему.
Ответить с цитированием
  #3 (permalink)  
Старый 08.11.2009, 21:55
Новичок на форуме
Отправить личное сообщение для root-xenos Посмотреть профиль Найти все сообщения от root-xenos
 
Регистрация: 06.11.2009
Сообщений: 4

Нет, нужно чтобы при заходе на страницу открывалось окошко, как вызов окна я выбрал изменение координат мыши, я нашел 2 скрипта а обьединить их не могу, так как не владею джаваскриптом
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение скрипта при нажатии Entet в текстовм поле Vlasssov Общие вопросы Javascript 4 23.08.2009 23:31
выполнение ф-ии при изменении состояния radio MaxB Events/DOM/Window 5 24.06.2009 14:24
Как сделать, чтобы 2 ссылки отображались как hover при наведении мышкой на любую? Ava Элементы интерфейса 5 19.05.2009 23:24
Обратная связь ПРИ ПОМОЩИ JavaScript qwertypop Элементы интерфейса 2 23.04.2009 18:30
горизонтальный скроллинг при движении мышки flexpro Общие вопросы Javascript 9 25.07.2008 14:12