Wywołać funkcje

0

Ja dopiero jestem na początku mojej nauki i utknęłam. Mam problem w <script> mam zapisane kilka funkcji, ale muszę wywołać jedną funkcje w drugim. Pokaże jeden z moich problemów:

function upclick()
{
	var current = document.getElementById("kwadrat").style.top;
	var trimmed = current.replace("px","");
	var number = Number(trimmed);
	if(number>0)
		document.getElementById("kwadrat").style.top=number-30+"px";
}

function moveTail()
{
	var head = document.getElementById("kwadrat");
	var tail = document.getElementById("drugi");
	tail.style.left = head.style.left;
	tail.style.top = head.style.top;
 }

musze wywołać moveTail w kilku funkcjach i jeden z nich jest upclick.

0

Jest on nieskończony

<!DOCTYPE html>
<html>
<head>
 <style>
	.battlefield{
	background-color:forestgreen; width:900px; height:600px; margin-left:auto; margin-right:auto; position:relative;
	}
	#kwadrat,#drugi{
	width:30px; height:30px; position:absolute;
	}
	
	#kwadrat{
	background-color:springgreen;
	}
	
	#drugi{
	background-color:violet;
	}
	.arrowdown,.arrowup,.arrowleft,.arrowright{
	position:absolute; padding:0; width:10px; height:10px; 
	}
	
	.arrowup{
	left:10px; top:0px;
	}
	
	.arrowdown{
	left:10px; bottom:0px;
	}
	
	.arrowleft{
	left:0px; top:10px;
	}
	
	.arrowright{
	right:0px; top:10px;
	}
	
	img{
	width:10px; height:10px; margin:0; display:block;
	}
 </style>
 
 <script>
 function upclick()
 {
	var current = document.getElementById("kwadrat").style.top;
	var trimmed = current.replace("px","");
	var number = Number(trimmed);
	if(number>0)
		document.getElementById("kwadrat").style.top=number-30+"px";
 }
 
 function rightclick()
 {
	var current = document.getElementById("kwadrat").style.left;
	var trimmed = current.replace("px","");
	var number = Number(trimmed);
	if(number<870)	
		document.getElementById("kwadrat").style.left=number+30+"px";
 }
 
 function downclick()
 {
	var current = document.getElementById("kwadrat").style.top;
	var trimmed = current.replace("px","");
	var number = Number(trimmed);
	if(number<570)
		document.getElementById("kwadrat").style.top=number+30+"px";
 }
 
 function leftclick()
 {
	var current = document.getElementById("kwadrat").style.left;
	var trimmed = current.replace("px","");
	var number = Number(trimmed);
	if(number>0)
		document.getElementById("kwadrat").style.left=number-30+"px";
 }
 
 function lazytype(event)
 {
	if(event.key=="ArrowUp")upclick();
	if(event.key=="ArrowDown")downclick();
	if(event.key=="ArrowLeft")leftclick();
	if(event.key=="ArrowRight")rightclick();
 }
 
 function moveTail()
{
	var head = document.getElementById("kwadrat");
	var tail = document.getElementById("drugi");
	tail.style.left = head.style.left;
	tail.style.top = head.style.top;
 }
 </script>

</head>

<body onkeydown="lazytype(event)">
	<div class="battlefield">
	
	<div id="kwadrat" style="left:450px;top:300px;">
		<div class="arrowup"><img src="exercise 15/up.png" onclick="upclick()"/></div>
		<div class="arrowdown"><img src="exercise 15/down.png" onclick="downclick()"/></div>
		<div class="arrowleft"><img src="exercise 15/left.png" onclick="leftclick()"/></div>
		<div class="arrowright"><img src="exercise 15/right.png" onclick="rightclick()"/></div>
	</div>
	<div id="drugi" style="left:420px;top:300px;"></div>
	</div>
	
	
</body>
</html>
1

Albo lepsza opcja - wrzuć kod na http://jsfiddle.net i podeślij mam link do tego wpisu.

0

Po prostu wpisz nazwę funkcji:
moveTail();
tam, gdzie potrzebujesz ją wywołać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1