This commit is contained in:
Ilya Kantor 2014-10-26 22:10:13 +03:00
parent 06f61d8ce8
commit f301cb744d
2271 changed files with 103162 additions and 0 deletions

View file

@ -0,0 +1,30 @@
# События
Три события имеют отношение к подсказке:
<ol>
<li>При `mouseover` -- показать.</li>
<li>При `mousemove` -- показать на новом месте.</li>
<li>При `mouseout` -- спрятать.</li>
</ol>
...Но при заходе на элемент происходят сразу оба события: `mouseover` и `mousemove` на нём же. Зачем вызывать код для показа два раза? Можно оставить его только в `mousemove`.
Стиль элемента подсказки:
```css
.tooltip {
position:absolute;
z-index:100; /* подсказка должна перекрывать другие элементы */
...
}
```
# Решение
[edit src="solution"]Решение в песочнице[/edit]
В нём есть две тонкости.
<ol>
<li>Для того, чтобы можно было получить высоту и ширину, подсказку надо сначала показать.</li>
<li>При показе -- важно, чтобы подсказка не оказалась *под* курсором. Если такое произойдет, то дальнейшие события `mousemove` станут происходить *уже на подсказке*, а не на элементе, и их обработка сломается.</li>
</ol>