Нет необходимости использовать Javascript, это, безусловно, может быть достигнуто с помощью только CSS.На мой взгляд, вам лучше всего использовать технику, рассмотренную в этой статье для CSS-спрайтов: http://www.alistapart.com/articles/sprites.
По существу, для каждого элемента на вашем столе поместите изображение с наведением и наведением на одно и то же изображение,один поверх друг друга, так что верхняя область имеет состояние не зависания, а нижняя область имеет состояние наведения.Ваш код, вероятно, будет выглядеть следующим образом:
div#keyboard2 {
position: absolute;
left: 89px;
top: 256px;
width: 67px;
height: 160px;
background: url(../images/keyboard.png) 0 0 no-repeat;
}
#keyboard2:hover { background-position: 0 100%; }
Изображение на вашем рабочем столе будет пустым, а ваши предметы будут только поверх него.