У меня есть веб-страница, где я хочу, чтобы пользователь видел новое изображение, когда они наводили указатель мыши на определенную часть изображения. Я использовал карту изображений.
<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="#" onclick="location.href='http://www....html'; return false;" 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 Мб они переключаются быстро, но все же не бесшовные). Как сделать преобразование изображения более бесшовным без снижения качества изображения? Во-вторых, я понимаю, что я мог бы просто отображать оба изображения в небольшом и крупном масштабе и на мыши над ними переключаться местами; Как мне это сделать?. Это уменьшит отставание?