Ответ 1
Вы не проверяете, загрузили ли вы текущее изображение; поэтому он перезагрузит его, даже если он уже существует. Некоторые из браузеров, вероятно, использовали кешированную версию изображения и, следовательно, не получили ее снова.
$(function () {
$("#links a").mouseover(function () {
var $flag = $("#flag");
var newImage = "/Images/" + $(this).attr("id") + ".png";
if ($flag.attr("src").indexOf(newImage) == -1)
$flag.attr("src", newImage);
});
});
Edit
Из нашего разговора я написал следующее: это то, о чем вы тоже говорили?
HTML
<div class="flag">
<img id="flag" src="/Images/austria.png" alt="austria" />
</div>
<div id="links">
<a id="austria" href="#">austria</a>
<a id="brazil" href="#">brazil</a>
<a id="japan" href="#">japan</a>
</div>
Javascript
$(function () {
$("#links a").mouseover(function () {
var $flag = $(".flag");;
var $flagImg = $("#flag");
var imageID = $(this).attr("id");
if ($flagImg.attr("src").indexOf(imageID) == -1)
$flag.html('<img id="flag" src="/Images/' + imageID + '.png" alt="' + imageID + '" />');
});
});