 <p>You apply <code>.hover()</code> on the <code>a</code> only. So when you hover the <code>a</code>, the image appear hover your <code>a</code> wich mean you are not hover the <code>a</code> anymore. That will fire the second callback of <code>.hover()</code> and the image will disappear. Then again you are hover the <code>a</code> and it repeat infinitly.</p> <p>To solve that, you just have to bind the <code>.hover()</code> on the parent container or on both elements.</p>