Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вывод 2-х переменных из функции function(event) (https://javascript.ru/forum/misc/48058-vyvod-2-kh-peremennykh-iz-funkcii-function-event.html)

free_style 18.06.2014 10:23

Вывод 2-х переменных из функции function(event)
 
Всем привет! Значит есть следующий код, где вызывается функция, которая определяет положение мышки. Данные из этой функции передаются элементам с id mouseX и mouseY. Но как передать значения функции в переменные top и left?


С обычными функциями 2-е переменные через
var peremen=this.function();

реально получить. В данном случае я вызываю функции 2-ды в body и при нажатии на div (function funkcia). Просьба подскажите!

<html>
<body onmousemove="mouseShowHandler(event);">
		
	<div id="fonid" class="fon"><img width="640" height="190" src="fon.jpg" onclick="funkcia()"></div>
	<input type="text" id="mouseX"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" id="mouseY">
			
<script>
	function mouseShowHandler(e){            // Определяем положение мышки
		e = e || window.event;
		
		if (e.pageX == null && e.clientX != null ) { 
			var html = document.documentElement;
			var body = document.body;
			
			e.pageX = e.clientX + (html && html.scrollLeft || body && body.scrollLeft || 0) - (html.clientLeft || 0);
			e.pageY = e.clientY + (html && html.scrollTop || body && body.scrollTop || 0) - (html.clientTop || 0);
		}
		
		document.getElementById('mouseX').value = e.pageX;
		document.getElementById('mouseY').value = e.pageY;
		
		var top = e.pageX;
		var left = e.pageY;
		
		return { top: e.pageX, left: e.pageY };
	}
	
	
	function funkcia(){
		var peremen=this.mouseShowHandler(click);
		alert("top: " + peremen.top + "   left: " + peremen.left );
	}
</script>

	
</body>
</html>

рони 18.06.2014 10:58

free_style,
<html>
<body onmousemove="mouseShowHandler(event);">

	<div id="fonid" class="fon"><img width="640" height="190" src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" onclick="funkcia(event)"></div>
	<input type="text" id="mouseX"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" id="mouseY">

<script>
	function mouseShowHandler(e){            // Определяем положение мышки
		e = e || window.event;

		if (e.pageX == null && e.clientX != null ) {
			var html = document.documentElement;
			var body = document.body;

			e.pageX = e.clientX + (html && html.scrollLeft || body && body.scrollLeft || 0) - (html.clientLeft || 0);
			e.pageY = e.clientY + (html && html.scrollTop || body && body.scrollTop || 0) - (html.clientTop || 0);
		}

		document.getElementById('mouseX').value = e.pageX;
		document.getElementById('mouseY').value = e.pageY;

		var top = e.pageX;
		var left = e.pageY;

		return { top: e.pageX, left: e.pageY };
	}


	function funkcia(event){
		var peremen=mouseShowHandler(event);
		alert("top: " + peremen.top + "   left: " + peremen.left );
	}
</script>


</body>
</html>


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