在另一个函数里面回调javascript函数

时间:2014-04-08 08:01:53

标签: javascript jquery

我有两个功能:

function changeImage(imgName)
{
image = document.getElementById('imgDisp');
image.src = imgName;
}

function changeSize()
{
document.getElementById('imgDisp').setAttribute("datamask","../files/test/2.png");
}

他们都被" onclick"事件:

 <img id="imgTemp" onclick="changeImage('../files/templates/blank/<? echo($one['id'])?>.jpg');changeSize();"

我想要的是在 changeImage 执行后再次调用 changeSize 。我被建议使用回调,但大多数例子我已经看到在函数内处理变量回调而不是两个函数。

编辑:功能改变大小应该在图像上放置一个掩码,给出&#34;数据掩码&#34;作为另一个.js文件中另一个函数的参数。图像得到了正确的数据掩码&#34;参数,但不应用蒙版。

4 个答案:

答案 0 :(得分:1)

您可以在changeSize()内拨打changeImage()

function changeImage(imgName)
{
image = document.getElementById('imgDisp');
image.src = imgName;
changeSize();
}

然后您可以从changeSize();功能中删除onclick

<img id="imgTemp" onclick="changeImage('../files/templates/blank/<? echo($one['id'])?>.jpg');" />

答案 1 :(得分:0)

function changeImage(imgName)
{
image = document.getElementById('imgDisp');
image.src = imgName;
changeSize();
}

function changeSize()
{
document.getElementById('imgDisp').setAttribute("datamask","../files/test/2.png");
} 


<img id="imgTemp" onclick="changeImage('../files/templates/blank/<? echo($one['id'])?>.jpg');changeSize();"/>

答案 2 :(得分:0)

只需编写changeSize()即可调用该函数。

答案 3 :(得分:0)

这是一个示例,但我会将您回显的url放在数据属性的html属性中。 这样会更稳定,更干净。 http://jsbin.com/gijiketi/1/edit?html,js