我有一个关于jquery/javascript的问题:我的情况如下:
- 我有一个链接
- 它在mouseover上有一处房产
- 当我悬停时,它会调用默认的FirstFunction(),这个函数会替换图像
注意,我不允许修改FirstFunction(),因为它执行一些不同的重要任务。我想做的事:
- 调用第二个函数:
- 第二个函数应该将图像替换回原始图像,因此在它被之前的FirstFunction()更改之前
我写了以下脚本:
function SecondFunction(obj) {
a = $(obj).find("img");
if (a != null && a.attr("src")!= null)
if (a.attr("src").lastIndexOf("img_4") != -1)
a.attr("src", "newSmallImg.png");
else if(a.attr("src").lastIndexOf("img_2")!=-1){
a.attr("src", "newBigImg.png");
}
}
通常情况下,当我调试脚本时,它会工作,等等,但图像不会被替换回来。我注意到"SecondFunction"在"FirstFunctions"执行完成之前就已经完成了。
我能做点什么吗?就像SecondFunction=>FirstFunction.ready中的设置一样?(第一个函数也在不同的文件中。)
任何输入都是受欢迎的
小更新,我调用的函数如下:
<a onmouseover="FirstFunction(); SecondFunction(this);" ...>
<span>
<img src="" ... />
</span>
</a>
1)检查您在第二个函数中接收的对象类型,您是如何调用此函数的?你能提供代码吗?
2) 检查你在这行中找到的图像是否是你期望的:
a = $(obj).find("img");
我建议通过唯一的id:访问对象
var myImge = $('#imageId')
我能做点什么吗?类似于SecondFunction中的设置=>FirstFunction.准备好了吗?(第一个函数也在不同的文件中。)
这可能有助于
<a onmouseover="FirstFunction(this, SecondFunction)" ...>
<span>
<img src="" ... />
</span>
</a>
并像这个一样更改FirstFunction()
function FirstFunction(obj, callback) {
//your code here
if(callback && typeof callback === 'function') {
callback(obj);
}
}