【问题标题】:Simple onclick event worked only once简单的 onclick 事件只工作一次
【发布时间】:2012-09-03 12:20:40
【问题描述】:

请帮忙)为什么这个结构不起作用?增量只发生一次。

var player = document.getElementById("player");
var button = document.getElementById("button");

function moveDown(object) {
    object.style.top += 32;
}

button.onclick = function() {
    moveDown(player);
}

【问题讨论】:

标签: javascript html css dom


【解决方案1】:

演示:http://jsfiddle.net/SrQUh/1/

var player = document.getElementById("player");
var button = document.getElementById("button");

function moveDown(object) {
  object.style.top = parseInt(object.style.top || 0) + 32 + 'px';
}

button.onclick = function() {
    moveDown(player);
}​

【讨论】:

    【解决方案2】:

    尝试使用:

    object.style.top = parseInt(object.style.top, 10) + 32;

    而不是

    object.style.top+=32;

    (并确保玩家的position 设置为absoluterelative

    【讨论】:

    • 无效。 ` 函数 moveDown(object) { object.style.top = parseInt(object.style.top , 10) + 32; console.log(parseInt(object.style.top, 10)); } `
    • 改为object.style.top = parseInt(object.style.top || 0, 10) + 32;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-04
    相关资源
    最近更新 更多