Я только что написал некоторый код (и он работает) для отображения текста рядом с мышью, когда мышь находится на любом из 4 прямоугольников (другой текст для другого прямоугольника). Я использовал HTML-тег , css и jquery. Все отлично работает Мне не нравится использование процессора на 100%, когда мышь движется по картинке.
Это часть jquery:
$('area').each(function(){
var area = $(this),
alt = area.attr('alt');
area.mousemove(function(event){
var tPosX = event.pageX +10;
var tPosY = event.pageY - 85;
$('#rectangletext').css({top: tPosY, left: tPosX});
$('#rectangletext').html(alt);
}).mouseleave(function(){
$('#rectangletext').html('');
});
});
Я тестировал его в IE, FF, Chrome и Opera (одновременно, на одном компьютере). Area.mousemove съедает до 100% процессора, когда вы наводите на него мышь. Вопрос в том, как уменьшить ресурсы, которые нужны, когда вы перемещаете мышь по этой карте. IE наихудший - загрузка процессора увеличивается до 100%. FF ест около 67% -100%. Опера съедает менее 62% (никогда не более 62%). Хром - лучший: средний - около 28%, максимальный - 42%.
Можно размещать текст рядом с мышью не каждую миллисекунду, а каждые 300 миллисекунд, если это помогает сократить требуемые ресурсы. Как это сделать?
Есть ли лучшее решение для этой проблемы, чем использовать mouseenter вместо mousemove? Недостатком mouseenter является то, что он не обновляет позицию всплывающего текста, пока не будет вызван mouseleave.
Спасибо.