调用每2秒更换一次图片的功能

时间:2011-12-03 16:46:38

标签: javascript jquery

我有一张照片,当我的鼠标在它上面时我想每2秒更换一次。 所以我写道:

$("#profilePic").mouseover(function() {
    var t = setTimeout("pictureChanger()",2000);
});

这是功能:

function pictureChanger() {
    currentPicture++;
    currentPicture = currentPicture % NUM_PICTURES;
    $("#profilePic").src = pictures[currentPicture];
}

它不起作用..但是当我在$("#profilePic").src = pictures[currentPicture];的函数内写mouseover时,它确实取代了图片。所以我猜问题是函数pictureChanger .. 如何修复它以便该功能将取代我的照片?

谢谢你!

2 个答案:

答案 0 :(得分:1)

使用.attr()函数在jquery中设置属性:

$('#profilePic').attr('src', pictures[currentPicture]);

或者通过选择器从匹配元素数组中获取底层DOM元素:

$('#profilePic').get(0).src = pictures[currentPicture];

第一个是首选,因为如果选择器与任何DOM元素都不匹配,代码将会中断,而第一个示例则不会执行任何操作。

答案 1 :(得分:0)

尝试删除setTimeout中函数名称的()和引号:

var t = setTimeout(pictureChanger,2000);