2013-10-14 25 views
0

我在HTML製作四個按鈕(INPUT TYPE =「按鈕」),並希望他們在點擊,但沒有發生運行功能。 的HTML代碼是:試圖改變文本位置在JavaScript

<div id="newtext" style="position:absolute; top:100px;"> 
<p>this is Text</p> 
</div> 
<form> 
<input type="button" name="moveLayer" value="move Left" onclick="move('left');"> 
<input type="button" name="moveLayer" value="move Right" onclick="move('right');"> 
<input type="button" name="moveLayer" value="move Up" onclick="move('up'); "> 
<input type="button" name="moveLayer" value="move Down" onclick="move('down'); "> 
</form> 

和腳本是:

function move(direction) { 
var layerText = document.getElementByID("newtext"); 

switch(direction) { 

case "left": 
    layerText.style.left=50; 
    break; 

case "right": 
    layerText.style.right=150; 
    break; 

case "up": 
    layerText.style.up=50; 
    break; 
case "down": 
    layerText.style.down=150; 
    break; 
default: 
it is not working; 
} 

}

由於事先..

+1

替換'getElementByID'用'getElementById'..and也不在話下單位即「像素」。例如,'layerText.style.left = 50 +「px」;'.check控制檯中的錯誤。 –

+0

是仍然沒有工作:( – melomane

+0

melomane,什麼是'它不是在默認working'一部分?儘量保持,而不是一些警報或控制檯來測試它..並且也在你的瀏覽器開發者工具的控制檯查看錯誤。 –

回答

0

這應該工作(有作爲style.up和style.down沒有這樣的事):

function move(direction) { 
    var layerText = document.getElementById("newtext"); 

    switch (direction) { 

     case "left": 
      layerText.style.left = "50px"; 
      break; 

     case "right": 
      layerText.style.left = "150px"; 
      break; 

     case "up": 
      layerText.style.top = "50px"; 
      break; 

     case "down": 
      layerText.style.top = "150px"; 
      break; 
    } 
} 

演示:http://jsfiddle.net/GE3C5/2/

+0

感謝我意識到這後者那是我愚蠢的錯誤。 – melomane

0

layerText.style.up = 50; ^

layerText.style.down = 150; ^ 沒有財產上下。改用頂部和底部;

默認:

it is not working; 

可能會導致語法錯誤

+0

你是對的:) – melomane