AJAX тултип / попап

R
На сайте с 03.07.2006
Offline
223
826

Доброго времени суток,

Ищу скрипт со следующими возможностями:

  • При наведении мыши на тег допустим img всплывает окошко
  • Содержимое окошка подгружается при помощи AJAX (картинки и текст, вероятно проще всего сделать iframe)
  • Окошко позиционируется где-то в центре экрана, но так чтобы не перекрывать объект (img)
  • Окошко не закрывается пока мышка находится над объектом (img) или над самим окошком
  • Скрипт использует jQuery или самостоятелен.

Вроде всё банально и просто, но пересмотрев тучу скриптов так и не нашёл подходящего мне.

В силу скудных познаний JS сам написать такой скрипт не могу, потому ищу готовое решение.

Очень похожее решение есть на templatemonster.com - когда наводишь на тумбу появляется большая превьюшка, немного не то, но эффект похожий.

Может кто-то видел подобное?

Спасибо.

DiAksID
На сайте с 02.08.2008
Offline
236
#1

тултип обычный, и аякс нафиг не нужен в большинстве случаев - можно заранее всё что надо засунуть в title тега. jquery.tooltip скриптик на 5 КБ решает..

show must go on !!!...
R
На сайте с 03.07.2006
Offline
223
#2

К сожалению без аякса никак, нужно подгрузить:

1. Галерею изображений

2. хороший кусок текста

3. Оформление

всего 50-200 Кб.

В итоге если на странице 25 таких объектов, то без аякса страница будет весить мегабайты... (с картинками)

DiAksID
На сайте с 02.08.2008
Offline
236
#3

тогда ищите подходящий лайтбокс с аяксом. неважно что они все обычно на клик срабатывают - просто надо настроить что бы срабатывал на mouseover и только по один раз...

Sect0R
На сайте с 25.06.2008
Offline
64
#4

Возьмите

* Easy Tooltip 1.0 - jQuery plugin

* written by Alen Grakalic

* http://cssglobe.com/post/4380/easy-tooltip--jquery-plugin

И либо подкорректируйте его либо сделайте так:

заводим функцию init() которая инициализирует easytooltip , далее ставим на нужный элемент класс ajaxtooltip, в rel например параметры запроса.

Далее всё просто:


$('.ajaxtooltip').each(function() {
$.post('location', $(this).attr('rel'), function(data) {
$(this).title = data;
init();
});
});

Чтото типо этого.

Все запросы храню в Топвизоре (http://topvisor.ru/?inv=10564)
R
На сайте с 03.07.2006
Offline
223
#5

Sect0R, спасибо за совет, я смотрел этот лпагин в нём есть всё кроме аякса, потому его пропустил.

Всё же пробую последовать вашему совету и переделать скрипт под себя. К сожалению, как я уже писал в JS я очень слаб, вобщем, вопреки моим изысканиям по мануалам, что-то не работает.

Пробую делать так:


<script type=\"text/javascript\">
$(document).ready(function(){
$('.ajaxtooltip').mouseover(function() {
$.get('404.html', $('.ajaxtooltip').attr('rel'), function(data) {
// alert(\"Data Loaded: \" + data);
$('.ajaxtooltip').title = data;
$('.ajaxtooltip').easyTooltip();
});
});
});
</script>

Вызываю вот таким кодом:

<a href="index.php?action=show_profile&id=4218" title="test" class="ajaxtooltip" rel="action: show_profile, id: 4218" >test basic</a>

Если раскомментировать alert то видно что запрос обрабатывается но данные не передаются в title

и соответственно при наведении указателя на ссылку мне показывает просто слово test

Что я упустил?

rengen добавил 24.04.2011 в 02:13

Решил вопрос доточив вот этот плагин: http://rndnext.blogspot.com/2009/02/jquery-ajax-tooltip.html

Всем спасибо.

Sect0R
На сайте с 25.06.2008
Offline
64
#6

Решили, но на всякий:

моя ошибка

не

$('.ajaxtooltip').title = data;

а

$('.ajaxtooltip').attr('title', data);

Sect0R добавил 24.04.2011 в 05:00

rengen, спасибо за ссылку.

Узнал про новый метод .live() ))

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий