我想在JavaScript中做到这一点:

function changeAttributeValue(theAttribute, numberOfPixels)
{
    theAttribute = numberOfPixels + "px";
}

changeAttributeValue(myImage.style.left, 50);
changeAttributeValue(myImage.style.top, 80);
changeAttributeValue(myCanvas.width, 600);

前两个调用应移动图像,第三个调用应调整 Canvas 的宽度。

但是,像这样,仅传递了传递的变量的,所以什么也没有发生。

有人知道如何解决这个问题吗?

最佳答案

你可以做这样的事情。

function changeAttributeValue(obj, propName, numberOfPixels) {
    obj[propName] = numberOfPixels + "px";
}

changeAttributeValue(myImage.style, "left", 50);
changeAttributeValue(myImage.style, "top", 80);
changeAttributeValue(myCanvas, "width", 600);

09-25 18:53