У меня есть веб-страница, на которой я хочу, чтобы пользователи увидели новое изображение, когда они наводят указатель мыши на определенную часть изображения. Я использовал карту изображения.
<img src="pic.jpg" usemap="#picmap" />
<map id="picmap" name="picmap"><area shape="rect" coords ="10,20,30,40"
onMouseOver="mouse_on_write('mouse is on spot')"
onMouseOut="mouse_off('mouse is off spot')"
href="http://www....html" target="_blank" />
</map>
<p id="desc"></p>
Где в шапке я определил эти функции:
<script type="text/javascript">
function mouse_off(txt)
{
document.getElementById("desc").innerHTML=txt;
document.p1.src="pic.jpg";
}
function mouse_on_write(txt)
{
document.getElementById("desc").innerHTML=txt;
document.p1.src="pic2.jpg";
</script>
Работает, но медленно. При наведении мышки на второе изображение появляется несколько секунд; Мое временное решение состояло в том, чтобы резко уменьшить размер изображений, потому что они были огромными (на 2,5 МБ они теперь переключаются быстро, но все еще не без шва). Как сделать переключение изображения более плавным без снижения качества изображения?
Подумав еще раз, я понимаю, что я мог бы просто отобразить оба изображения в небольшом и большом масштабе, и при наведении мыши они бы поменялись местами; Как бы я это сделал? Это уменьшит отставание?