如何在JavaScript中动态地将参数传递给函数?

时间:2014-02-12 18:14:19

标签: javascript jquery

我有这个功能:

divResize = { myDiv:function(width, height)
 {...}

}
divResize.myDiv(100,400);

如何从用户说从表单或其他交互元素动态接收后面的参数?如果这些数字还没有预先确定,我希望它们能够改变视觉效果。

3 个答案:

答案 0 :(得分:0)

您使用输入(可能带有id),然后使用document.getElementById("input1").value之类的内容提取值以传入函数。

HTML可能类似于:

<input id="input1" type="number" />
<input id="input2" type="number"  />
<button onclick="mycode()">click</button>

然后js将成为

的界限
function mycode(){
    var a = document.getElementById("input1").value;
    var b = document.getElementById("input2").value;
    divResize.myDiv(a,b);
}

当然,在现实生活中你可能想要检查输入是不是空的&amp;在将它们传递给你的函数之前确认它们是数字。你可能也想要更加丰富的变量&amp;功能名称比我用过的。

注意:我直接输入此代码到这里&amp;尚未测试过,因此可能存在错别字/瑕疵。

答案 1 :(得分:0)

如果您希望用户控制尺寸,可以添加这些输入字段。

<input type="text" id="width">
<input type="text" id="height">

然后将此添加到JavaScript函数

var width = $("#width").val();
var height = $("#height").val();

您可以使用widthheight来调整div的大小。

您也可以像。

一样启动调整大小功能
$("#width").change(function(){
  //your function code
  $("#myDivToResize").css("width",$(this).val());
});

答案 2 :(得分:0)

使用参数变量here

例如:

function a(){
   console.log(arguments);
}

a(1,2,3,"foo","bar");

返回

[1,2,3,"foo","bar"]

所以你可以通过参数[0]轻松获得第一个参数,依此类推。