Javascript 如何使用onclick多次更改变量的值?

Javascript 如何使用onclick多次更改变量的值?,javascript,html,Javascript,Html,我是一个JS新手,最近我发现了一个SDK,用于创建具有html/css/JS的增强现实应用程序,名为wikitude。当您看到下面的内容时,您将看到一个按钮,单击该按钮可调用scaleModel函数,然后该函数将为scale属性创建新值,这将允许3d模型my app显示增大的大小。我只是希望能够创建一个按钮,每次我按下它都会增加值,另一个按钮每次按下都会减少值。这样我将有两个按钮,一个用于增大尺寸,另一个用于减小尺寸。我非常感谢你的帮助 <!DOCTYPE html PUBLIC "-//

我是一个JS新手,最近我发现了一个SDK,用于创建具有html/css/JS的增强现实应用程序,名为wikitude。当您看到下面的内容时,您将看到一个按钮,单击该按钮可调用scaleModel函数,然后该函数将为scale属性创建新值,这将允许3d模型my app显示增大的大小。我只是希望能够创建一个按钮,每次我按下它都会增加值,另一个按钮每次按下都会减少值。这样我将有两个按钮,一个用于增大尺寸,另一个用于减小尺寸。我非常感谢你的帮助

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="viewport" content="target-densitydpi=device-dpi, width = 540, user-scalable = 0" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>My ARchitect World</title>
<script src="architect://architect.js"></script>
<script>
var model;
var location;

function createModel()
{
AR.logger.activateDebugMode();
AR.logger.info("info");

var modelOptions = {
    scale: {x: 0.1, y: 0.1, z: 0.1},
    rotate: {heading: -30},
    rotate: {tilt: 30},
    translate: {y: -0.5}
};

model = new AR.Model("my3dModel.wt3", modelOptions);
location = new AR.RelativeLocation(null, 0, -50, 0);
var myGeoObject = new AR.GeoObject(location, {drawables: {cam: model}});
}

function scaleModel() {
model.scale.x = 0.5;
model.scale.y = 0.5;
model.scale.z = 0.5;
}

</script>
</head>

我的建筑师世界
var模型;
var定位;
函数createModel()
{
AR.logger.activateDebugMode();
AR.logger.info(“info”);
var模型选项={
比例:{x:0.1,y:0.1,z:0.1},
旋转:{标题:-30},
旋转:{tilt:30},
翻译:{y:-0.5}
};
模型=新的AR.model(“my3dModel.wt3”,模型选项);
位置=新的AR.相对位置(null,0,-50,0);
var myGeoObject=new AR.GeoObject(位置,{drawables:{cam:model});
}
函数scaleModel(){
模型比例尺x=0.5;
模型比例尺y=0.5;
模型比例尺z=0.5;
}
创作动画 鳞片


如果您创建了一个新函数,如
scaleModel()
函数,该函数将比例乘以一个量,而不是设置它:

function scaleModelBy(amount) {
    model.scale.x = model.scale.x * amount;
    model.scale.y = model.scale.y * amount;
    model.scale.z = model.scale.z * amount;
}
然后,您可以在一些按钮中调用它:

<button onclick="scaleModelBy(2);">Scale up</button>
<button onclick="scaleModelBy(0.5);">Scale down</button>
放大
缩小

我唯一的选择是多个?我无法补充?乘法不允许我像我希望的那样精确缩放。你可以添加。只需创建另一个函数或修改上面的函数,使其相加而不是相乘。在JavaScript中,它们不必都是浮动的,数字就是
Number
s。所有的
Number
s都是浮点。你可以写
2
2.0
,它们的意思完全一样。您不必担心
int
s和
float
s.so model.scale.x=model.scale.x+amount?就这样?