تÙÙØªÛÙ¾ "باÙÙØ´"
ØªØ§Ø¨Ø¹Û Ø¨ÙÙÛØ³Ûد Ú©Ù ÛÚ© تÙÙØªÛÙ¾ را ÙÙØ· در ØµÙØ±ØªÛ ÙÙ Ø§ÛØ´ Ø¯ÙØ¯ ک٠کاربر اشارÙâگر Ù ÙØ³ را داخ٠آ٠ببرد Ù Ù٠اÛÙک٠از رÙÛ Ø¢Ù ÙÙØ· Ø¹Ø¨ÙØ± Ú©ÙØ¯.
ب٠عبارت دÛÚ¯Ø±Ø Ø§Ú¯Ø± ک٠کاربر اشارÙâگر Ù ÙØ³ را رÙÛ Ø¹ÙØµØ± ببرد Ù Ø¢ÙØ¬Ø§ ٠تÙÙÙ Ø´ÙØ¯Ø تÙÙØªÛÙ¾ ÙÙ Ø§ÛØ´ Ø¯Ø§Ø¯Ù Ø´ÙØ¯. ٠اگر Ù ÙØ³ از رÙÛ Ø¹ÙØµØ± Ø¹Ø¨ÙØ± Ú©Ø±Ø¯Ø ÙÛØ§Ø²Û ب٠ÙÙ Ø§ÛØ´ تÙÙØªÛÙ¾ ÙÛØ³Øª. ÚÙ Ú©Ø³Û ÛÚ© ب٠تÙÙØªÛÙ¾ ÙØØ¸ÙâØ§Û ÙÛØ§Ø² داردØ
از ÙØ¸Ø± ÙÙÛØ Ù ÛâØªÙØ§ÙÛ٠سرعت اشارÙâگر Ù ÙØ³ را رÙÛ Ø¹ÙØµØ± Ø§ÙØ¯Ø§Ø²Ù Ø¨Ú¯ÛØ±ÛÙ Ø Ù Ø§Ú¯Ø± آرا٠باشد ÙØ±Ø¶ Ú©ÙÛ٠ک٠اشارÙâگر âØ±ÙÛ Ø¹ÙØµØ± ÙØ±Ø§Ø± Ú¯Ø±ÙØªÙâ ٠تÙÙØªÛÙ¾ را ÙÙ Ø§ÛØ´ دÙÛÙ . اگر Ø³Ø±ÛØ¹ Ø¨ÙØ¯Ø Ø¢ÙØ±Ø§ ÙØ§Ø¯ÛØ¯Ù Ø¨Ú¯ÛØ±ÛÙ .
Ø¨Ø±Ø§Û Ø§ÛÙ Ù
ÙØ¸Ùر ÛÚ© شئ Ú¯ÙÙØ¨Ø§Ù Ø¨Ù ØµÙØ±Øª new HoverIntent(options) Ø¨Ø³Ø§Ø²ÛØ¯.
Ø®ØµÙØµÛات options:
elemâ Ø¹ÙØµØ±Û Ú©Ù Ù ÛâØ®ÙØ§ÙÛÙ ØØ±Ú©Øª اشارÙâگر را رÙÛ Ø¢Ù Ú©ÙØªØ±Ù Ú©ÙÛÙ .overâ ØªØ§Ø¨Ø¹Û ک٠در ØµÙØ±Øª âÙØ±Ø§Ø± Ú¯Ø±ÙØªÙ اشارÙâگر رÙÛ Ø¹ÙØµØ±â صدا زد٠٠ÛâØ´ÙØ¯: Ú©Ù ÛØ¹ÙÛ ØØ±Ú©Øª اشارÙâگر Ù ÙØ³ Ú©ÙØ¯ Ø¨ÙØ¯ÙØ ÛØ§ رÙÛ Ø¹ÙØµØ± تÙÙ٠کردÙ.outâ ØªØ§Ø¨Ø¹Û ک٠ز٠اÙÛ Ø§Ø´Ø§Ø±Ùâگر Ù ÙØ³ Ø¹ÙØµØ± را ترک Ù ÛâÚ©ÙØ¯ صدا زدÙâ Ù ÛâØ´ÙØ¯. (اگر تابعoverصدا زد٠شد٠باشد).
ÛÚ© ٠ثا٠از ÚÚ¯ÙÙÚ¯Û Ø§Ø³ØªÙØ§Ø¯Ù از ÚÙÛ٠شئ Ø¨Ø±Ø§Û ØªÙÙØªÛÙ¾ اÛÙ ÚÙÛÙ Ø®ÙØ§Ùد Ø¨ÙØ¯:
// تÙÙØªÛÙ¾ ÙÙ
ÙÙÙ
let tooltip = document.createElement('div');
tooltip.className = "tooltip";
tooltip.innerHTML = "Tooltip";
// اÛ٠شئ ØØ±Ú©Øª اشارÙâگر Ù
ÙØ³ را Ø¯ÙØ¨Ø§Ù Ù ØªÙØ§Ø¨Ø¹ over/out را صدا Ù
ÛâØ²ÙØ¯.
new HoverIntent({
elem,
over() {
tooltip.style.left = elem.getBoundingClientRect().left + 'px';
tooltip.style.top = elem.getBoundingClientRect().bottom + 5 + 'px';
document.body.append(tooltip);
},
out() {
tooltip.remove();
}
});
د٠Ù:
اگر ک٠اشارÙâگر Ù ÙØ³ را Ø³Ø±ÛØ¹Ø§ از رÙÛ âØ³Ø§Ø¹Øªâ ØØ±Ú©Øª دÙÛØ¯Ø Ø§ØªÙØ§ÙÛ ÙÙ ÛâØ§ÙØªØ¯Ø اگر Ú٠در ØµÙØ±ØªÛ Ú©Ù ØØ±Ú©Øª اشارÙâگر Ù ÙØ³ Ø¢ÙØ³ØªÙ باشد ÛØ§ رÙÛ Ø¢Ù ØªÙÙÙ Ú©ÙÛØ¯Ø ÛÚ© تÙÙØªÛÙ¾ ÙÙ Ø§ÛØ´ داد٠٠ÛâØ´ÙØ¯.
ØªÙØ¬Ù: تÙÙØªÛÙ¾ ÙØ¨Ø§Ûد ÙÙÚ¯Ø§Ù Û Ú©Ù Ø§Ø´Ø§Ø±Ùâگر رÙÛ ÙØ±Ø²Ùدا٠ساعت ØØ±Ú©Øª Ù ÛâÚ©ÙØ¯ Ø±ÙØªØ§Ø± âÚØ´Ù Ú© زÙâ Ø¯Ø§Ø´ØªÙ باشد.
اÙÚ¯ÙØ±ÛØªÙ Ø³Ø§Ø¯Ù Ø¨Ù ÙØ¸Ø± Ù ÛâØ±Ø³Ø¯:
- Ø¨Ø±Ø§Û Ø±ÙÛØ¯Ø§Ø¯ÙاÛ
onmouseover/outÚ©ÙØªØ±ÙâÚ©ÙÙØ¯ÙâÙØ§ÛÛ Ø±ÙÛ Ø¹ÙØµØ± تعرÛÙ Ù ÛâÚ©ÙÛÙ . ÙÙ ÚÙÛÙ Ù ÛâØªÙØ§ÙÛ٠از âââonmouseenter/leaveÙÛØ² در اÛÙ Ù ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ Ø Ø§Ù Ø§ ک٠تر Ø§Ø³ØªÙØ§Ø¯Ù Ù ÛâØ´ÙÙØ¯. Ø¯Ø±ØµÙØ±ØªÛ ک٠از ÙØ§Ú¯Ø°Ø§Ø±Û رÙÛØ¯Ø§Ø¯Ùا Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ Ø Ú©Ø§Ø± ÙÙ ÛâÚ©ÙÙØ¯. - زÙ
اÙÛ Ú©Ù Ø§Ø´Ø§Ø±Ùâگر Ù
ÙØ³ ÙØ§Ø±Ø¯ ÛÚ© Ø¹ÙØµØ± Ù
ÛâØ´ÙØ¯Ø سرعت آ٠را در
mousemoveÙ ØØ§Ø³Ø¨Ù Ù ÛâÚ©ÙÛÙ . - اگر سرعت ØØ±Ú©Øª Ø¢Ù Ú©ÙØ¯ Ø¨Ø§Ø´Ø¯Ø ØªØ§Ø¨Ø¹
overرا صدا Ù ÛâØ²ÙÛÙ . - زÙ
اÙÛ Ú©Ù Ø§Ø² Ø¹ÙØµØ± خارج Ù
ÛâØ´ÙÛÙ
Ø Ù
overصدا Ø²Ø¯Ù Ø´Ø¯Ù Ø¨ÙØ¯Ø تابعoutâ Ø±Ø§ ÙÛØ² صدا Ù ÛâØ²ÙÛÙ .
ا٠ا ÚÚ¯ÙÙ٠سرعت اشارÙâگر Ù ÙØ³ را Ø§ÙØ¯Ø§Ø²Ù Ú¯ÛØ±Û Ú©ÙÛÙ Ø
اÙÙÛÙ ÚÛØ²Û ک٠ب٠ذÙÙ Ù
ÛâØ±Ø³Ø¯ اÛ٠است Ú©Ù: ÛÚ© تابع را ÙØ± â100msâ Ø§Ø¬Ø±Ø§ Ú©ÙÛÙ
Ù Ù
Ø³Ø§ÙØªÛ ک٠بÛÙ Ù
ختصات ÙØ¨ÙÛ Ù Ø¬Ø¯ÛØ¯ Ø·Û Ø´Ø¯Ù Ø±Ø§ Ø§ÙØ¯Ø§Ø²Ù Ø¨Ú¯ÛØ±ÛÙ
. اگر Ú©ÙÚÚ© Ø¨Ø§Ø´Ø¯Ø Ù¾Ø³ سرعت ØØ±Ú©Øª اشارÙâگر Ù
ÙØ³ Ú©ÙØ¯ Ø¨ÙØ¯Ù.
Ù
ØªØ§Ø³ÙØ§Ù٠راÙÛ Ø¨Ø±Ø§Û Ú¯Ø±ÙØªÙ âÙ
ختصات ÙØ¹ÙÛ Ø§Ø´Ø§Ø±Ùâگر Ù
ÙØ³â در Ø¬Ø§ÙØ§ اسکرÛپت ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯. ÙÛÚ ØªØ§Ø¨Ø¹ از ÙØ¨Ù Ø¢Ù
ادÙâØ§Û Ù
اÙÙØ¯ getCurrentMouseCoordiantes() ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯.
تÙÙØ§ Ø±Ø§Ù Ø¨Ø±Ø§Û Ú¯Ø±ÙØªÙ Ù
ختصات Ú¯ÙØ´ داد٠ب٠رÙÛØ¯Ø§Ø¯ÙØ§Û Ù
ÙØ³ Ù
اÙÙØ¯ mousemove Ù Ú¯Ø±ÙØªÙ Ù
ختصات از شئ event Ø®ÙØ§Ùد Ø¨ÙØ¯.
Ø¯Ø±ÙØªÛØ¬Ù Ø¨Ø§ÛØ¯ Ø¨Ø±Ø§Û Ø±ÙÛØ¯Ø§Ø¯ mousemove ÛÚ© Ú©ÙØªØ±ÙâÚ©ÙÙØ¯Ù تعرÛÙ Ù
ÛâÚ©ÙÛÙ
تا Ù
ختصات را Ø°Ø®ÛØ±Ù Ú©ÙÛÙ
Ø Ù Ø¢ÙÙØ§ را ÙØ± 100ms Ù
ÙØ§Ûس٠کÙÛÙ
.
Ù¾ÛâÙÙØ´Øª: ØªÙØ¬Ù Ú©ÙÛØ¯ Ú©Ù Ø¨Ø±Ø§Û Ø¢Ø²Ù
Ø§ÛØ´ را٠ØÙ از dispatchEvent Ø§Ø³ØªÙØ§Ø¯Ù Ù
ÛâØ´ÙØ¯ تا ببÛÙØ¯ تÙÙØªÛÙ¾ Ø¨Ù Ø¯Ø±Ø³ØªÛ Ú©Ø§Ø± Ù
ÛâÚ©ÙØ¯ ÛØ§ ÙÙ.
باز کرد٠راÙâØÙ Ù٠را٠با تستâÙØ§ درÙÙ ÛÚ© sandbox.