Контекстно чувствителна помощ за уеб страница в 2

Написано на 19 декември 2008 г. Публикувано в ASP.NET

В допълнение към тези два недостатъка, контекстно-зависимата помощна система може да не е толкова практична за нас, колкото разработчиците на страници. Всички скриптове и елементи

В тази статия ще видим как можете да подобрите основната контекстно-зависима помощ, като премахнете горните недостатъци и създадете клас ASP.NET 2.0 с методи за програмно добавяне на прозорец за помощ и необходимите скриптове за дадена област. Прочетете, за да научите повече за него.!

Забавяне преди отваряне и затваряне на помощния прозорец

Когато задържите курсора на мишката върху елемент на потребителския интерфейс, който има подсказка на уеб страница или приложение на Windows, подсказката не се появява веднага, а след известно време. Контекстно чувствителната помощна система в някои случаи мигновено показва помощния прозорец, след като указателят току-що е надвиснал над областта. Тази скорост може да бъде неудобна за потребителя, ако той премести показалеца около екрана. Дори ако не е имало нужда потребителят да вижда дадената подсказка, преместването на показалеца около екрана може да доведе до появата на прозорец за помощ. В същото време тези прозорци незабавно изчезват, ако потребителят напусне района, но мигането на самия прозорец може да бъде много досадно.

За да поправим това, можем да въведем известно забавяне, преди прозорецът да се покаже. Тоест, когато потребителят задържа курсора на мишката върху областта, която извиква прозореца за помощ, вместо незабавно да покаже прозореца, ние ще изчакаме половин секунда (или толкова дълго, колкото желаете) и след това ще покажем прозореца за помощ. Ако през тези половин секунда показалецът е успял да бъде извън зоната, тогава няма да покажем прозореца за помощ.

За да постигна този ефект, разделих csi_showHelpFloatWindow - който показва специфичен прозорец за помощ - на две функции:

  • csi_showHelpFloatWindow - Приема същия набор от параметри като в оригиналната версия, както и още един параметър - waitDurationInMilliseconds. Параметърът waitDurationInMilliseconds определя броя на милисекундите за забавяне. Тази функция извиква csi_showHelpFloatWindowInternal с помощта на функцията setTimeout.
  • csi_showHelpFloatWindowInternal - извършва цялата работа по показване на помощния прозорец.