2011-12-03 10 views
0

画像があり、マウスが2秒ごとに変更されます。 ので、私は書き込み:私はmouseoverの関数内$("#profilePic").src = pictures[currentPicture];を書くときしかし、それは絵を交換し...2秒ごとに画像を変更する関数を呼び出します。

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

それは動作しません。

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

、これは機能です。だから私は問題があると思いますpictureChanger .. どのように私はそれが機能は私の写真を置き換えるようにそれを修正するには?

ありがとうございました!

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

またはセレクタにマッチした要素のアレイからの基礎となるDOM要素を得る:最初のが原因であれば好まれる

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

+0

'currentPicture'が最初に定義されている場合?また、おそらく、 'setTimeter' –

+0

の権利ではなく、' setInterval() 'が2秒ごとに画像を変更したいと思っています。それを 'setInterval()'に変更しました。 'currentPicture'はグローバルに定義されていますので、' pictureChanger() 'を実行するたびに、以前に表示したピクチャを覚えています。 –

答えて

1

はjQueryのに属性を設定する.attr()関数を使用しますセレクタはコードが破損するDOM要素と一致しませんが、最初の例では何も行いません。

0

()を削除したsetTimeout関数名の引用符にしてください:

var t = setTimeout(pictureChanger,2000); 
関連する問題