Я разрабатываю сложную страницу, содержащую несколько виджетов, некоторые перетаскиваемые элементы и интерактивную временную шкалу <canvas>
.
Проблема:
Вкл. mouseover
- для элементов, которые можно перетаскивать (объекты) - мне нужно отобразить всплывающую подсказку, содержащую некоторую расширенную информацию («предварительный просмотр» страницы объекта) об этом конкретном элементе.
Перетаскиваемые предметы (я думаю, что их ~ 100) представлены следующим образом (некоторые из них созданы динамически):
<!-- ... -->
<div id="entity-1" class="draggable">
<div class="title">title</div>
<img src="#URL" alt="..." />
<div class="tooltip-wrapper"></div>
</div>
<div id="entity-2" class="draggable">
<div class="title">title</div>
<img src="#URL" alt="..." />
<div class="tooltip-wrapper"></div>
</div>
<div id="entity-3" class="draggable">
<div class="title">title</div>
<img src="#URL" alt="..." />
<div class="tooltip-wrapper"></div>
</div>
<!-- ... -->
, где .tooltip-wrapper
изначально установлен на display:none
и opacity:0
Общая подсказка - это довольно сложный HTML-код, содержащий некоторые детали, т. Е. (Много упрощено)
<div class="tooltip-entity-wrapper">
<div class="title">entity title</div>
<div class="tab"><!-- tab content --></div>
<div class="tab"><!-- tab content --></div>
<div class="tab"><!-- tab content --></div>
<form action="...">
<!-- form content -->
</form>
<a href="#URL"><!-- full entity page link --></a>
</div>
Я думаю о 3 возможных решениях:
- На
mouseover
, (на первом) сделать ajax-запрос, который возвращает определенный HTML-код всплывающей подсказки, вставить его в обертку для всплывающей подсказки, показать его и на mouseout
скрыть.
- На
mouseover
, (на первом) сделать запрос ajax, который возвращает json, визуализировать его с помощью js (ус), вставить его в обертку для всплывающей подсказки, показать и на mouseout
скрыть.
- Отобразить подсказку прямо внутри элемента и включить ее
mouseover
/ mouseout
css / layout / positioning не является большой проблемой, в том числе и потому, что я уже создал макет плагина mootools для всплывающей подсказки (если у вас есть предложения по поводу некоторых настраиваемых плагинов для всплывающей подсказки для mootools, пожалуйста, дайте мне знать :))
Мне просто нужен совет / предложение о том, каким образом следовать, чтобы реализовать эту продвинутую систему «подсказок», или если у вас есть лучшие решения, чтобы предложить мне. :)
Спасибо всем
p.s. Я разрабатываю веб-приложение, используя rails3 (и haml, scss, compass) и mootools в качестве js-фреймворка (+ усы как шаблонная система).