Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Всплывающие подсказки(tooltip), с расширенными возможностями 
:(
    Опции темы
badGamer
Дата 22.1.2007, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.1.2007
Где: Кемерово

Репутация: нет
Всего: нет



Цитата(GZep @  22.1.2007,  14:39 Найти цитируемый пост)
Будет медленно работать, ведь на выполнения запроса нужно время...

Ну не знаю имхо выполнение запрос зймет очень мало времени. Другое дело скорость соединения.... но и это не проблема

Цитата(GZep @  22.1.2007,  14:39 Найти цитируемый пост)
Эти всплывающие подсказки е должны быть большими, ибо они плавно появляются и все такое, короче расчитаны на небольшие подсказки, желательно только текст. Из этого следует, что аякс не требуется, можно и без аякса загрузить вместе со страницей все подсказки, не сильно съев трафик.

Ну а кто говорил про большие??? как напрмер (небольшая картинка + небольшое описание + пара сцылок)*150 итого получаецо 800-1000 байт * 150 = порядка 140 килобайт. Это ерунда согласен, но информация изменяется динамически, хоть и нечасто, но всеже изменяется... (делаю интерактивную карту tooltip используется для вывода и нформации о каждом городе)
Вот и хотелось бы брать инфу с сервера.

Если Вам нетрудно, подсобите пожалуйсто.  smile 

Это сообщение отредактировал(а) badGamer - 22.1.2007, 20:00
PM MAIL ICQ   Вверх
GZep
Дата 23.1.2007, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: нет
Всего: 32



Цитата(badGamer @  22.1.2007,  19:58 Найти цитируемый пост)
очень мало времени

Вы даже, наверное, не представляете себе какие бывают полудохлые хостинги. 
Цитата(badGamer @  22.1.2007,  19:58 Найти цитируемый пост)
но информация изменяется динамически

Да. Ну вот и подгружайте информацию при помощи аякса. Например, раньше вы ба подгрузили обычный блок div с содержанием, а теперь надо подгрузить этот блок, только в нем поставить атрибут tooltip и разработка уважаемого Sardar'a будет работать с этим догруженным блоком.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
badGamer
Дата 24.1.2007, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.1.2007
Где: Кемерово

Репутация: нет
Всего: нет



Цитата(GZep @  23.1.2007,  14:17 Найти цитируемый пост)
Вы даже, наверное, не представляете себе какие бывают полудохлые хостинги. 

Зачем такими пользоватся? у меня хостингом все нормально smile 
Цитата(GZep @  23.1.2007,  14:17 Найти цитируемый пост)
Да. Ну вот и подгружайте информацию при помощи аякса. Например, раньше вы ба подгрузили обычный блок div с содержанием, а теперь надо подгрузить этот блок, только в нем поставить атрибут tooltip и разработка уважаемого Sardar'a будет работать с этим догруженным блоком.


В том-то все и дело, раньше вообще ничего не подгружалосль, описание состояло из 3-4 слов и все было html. А теперь описание стало больше и возникли трудности... 

Если Вас это не затруднит киньте, пожалуйста, небольшой пример к вышесказанному... Я очень слабо знаком с JS. 
Заранее благодарен  smile 

PM MAIL ICQ   Вверх
GZep
Дата 24.1.2007, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: нет
Всего: 32



Цитата(badGamer @  24.1.2007,  11:03 Найти цитируемый пост)
киньте, пожалуйста, небольшой пример

Ну, тут не примеры надо , а статьи. А именно статьи про AJAX:
Ajax в википедии(на русском)
Введение в Ajax
Созидательная сила AJAX
И в ФАК Винграда тоже стоит заглянуть...(кстати, обратите внимание на меню слева - в нем для подгрузки данных используется ajax)
Vingrad FAQ :: Сверхдинамичные страницы :: получение и отправка данных на сервер без прямой перезагрузки страницы
Ну с этими статьями я думаю, что все понятно будет. smile 

З.Ы. Что хочется добавить: на самом деле эту разработку Sardar'a не надо дорабатывать, а надо внедрить аякс в вашу разметку.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
badGamer
Дата 24.1.2007, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.1.2007
Где: Кемерово

Репутация: нет
Всего: нет



Спасибо конечно за link`s. С AJAX все более-менее понятно. Я бы даже сказал более чем менее smile 
Проблема в моей javascript безграмотности...
Как я понимаю нужно юзать вид external tooltip. В итоге каждая ссылка будет вида
Код

<a href="city/134.html" onmouseover="loadinfo('ID')" tooltip-set="type: simple; target: info;">

Сразу вопрос, а как loadinfo сообщить, что это ссылка на 134 город, как передать это значение?
Я правильно извратил идею?

Это сообщение отредактировал(а) badGamer - 24.1.2007, 20:00
PM MAIL ICQ   Вверх
GZep
Дата 25.1.2007, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: нет
Всего: 32



badGamer, Вы хотите подгружать текст подсказки или блок, в котором есть атрибут tooltip с содержанием подсказки. Если 2-е, то это не так сложно, а вот с первым, боюсь вам сможет помочь только Sardar(потому что там придется сам объект ковырять).

Да, и откуда эта разметка?


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
badGamer
Дата 25.1.2007, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.1.2007
Где: Кемерово

Репутация: нет
Всего: нет



Мне показалось, что 1 проще намного, Так что видимо вопрос уважаемому Sardar:). итого получилось следующее:
Код

<link rel="stylesheet" href="tooltip.css" type="text/css" media="screen">
<script type="text/javascript" language="JavaScript" src="tooltip.js"></script>
<script type="text/javascript" language="JavaScript" src="JsHttpRequest.js"></script>
<script type="text/javascript" language="JavaScript">
function L(value) {
    document.getElementById('desc').innerHTML= 'Подождите, идет загрузка...';
    var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            document.getElementById('desc').innerHTML = 
                '<b>MD5("'+req.responseJS.q+'")</b> = ' +
                '"' + req.responseJS.md5 + '"<br> ';
            document.getElementById('debug').innerHTML = req.responseText;
        }
    }
    req.caching = true;
    req.open(null, 'loader.php', true);
    req.send( { q: value } );
}
</script>
</head>
<body onload="initToolTip('area')">
<div class="tooltip_simple" style="visibility:hidden;display:none;" id="desc"></div>
<img src="map.gif" width="200" height="200" border="0" usemap="#Map">
<map name="Map">
  <area shape="rect" coords="78,66,87,75" href="2.html" tooltip>
  <area shape="rect" coords="137,64,146,73" href="3.html">
  <area shape="rect" coords="29,160,37,169" href="5.html">
</map>
Ф-ция makeToolTipBox в самом конце.

Сделал так, чтобы ф-цию L(value) не надо было прописывать в onmouseover. Теперь она автоматом вешается на выбранные теги smile мне нравицо )
Код

obj.onmouseover=function(ev){move(ev); L(obj); if(obj.old_onmouseover) obj.old_onmouseover(ev);}

Выходит следующее: к 2 подсказка отображается. Но мне захотелось, чтобы вообще не надо было к подсказкам ничего добовлять, чтобы js автоматически добавл tooltip к заданному в init тэгу.
в коде tooltip в функции applyToolTip решил вырезать строчку 
Код

if(((t=obj.getAttribute('tooltip'))==null) & ((sets=obj.getAttribute('tooltip-set'))==null)) return; //no tooltip info

Тогда подсказки отображаются ко всем <area>, но когда наводишь мышкой (IE) на подсказку выскакивает "Stack overflow at line: 0". И ничего я не могу с этим поделать. Ибо в js разбираюсь в первый раз. Да и в Opera как-то криво работать начинают. (Не исчезают сразу, тормозят).

ps настройки следующие tooltip: 
Код

ToolTip.defaultSets={
  type: "extern",   target: "desc",   appearance: "simple",
  floating: "static",   width: "",   height: "", 
  offsetX: 10,   offsetY: 10,   delayOn: 100, 
  delayOff: 200,   animationLength: 200 
}


ВотЪ. помогите плиз разобратся с возникшим глюком, если не трудно smile
p.s. http://pitbull.1gb.in/emap/ - Так это выглядит.
http://pitbull.1gb.in/emap/emap.zip - исходник. 

Это сообщение отредактировал(а) badGamer - 27.1.2007, 08:36
PM MAIL ICQ   Вверх
badGamer
Дата 27.1.2007, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.1.2007
Где: Кемерово

Репутация: нет
Всего: нет



Уважаемый Sardar. Дальнейшие эксперименты привели к следующему. По непонятным причинам Ваша подсказка выдает ошибку когда наводишь мышкой (IE) на подсказку выскакивает "Stack overflow at line: 0". Да и в Opera как-то криво работать начинают. (Не исчезают сразу, тормозят).

Это происходит без малейших вмешательств в код. У меня она вскакивает как только я ставлю 
Код

type: "extern", //tooltip type: simple, extern, extern-template
  target: "desc", //element ID
  appearance: "simple", //tooltip apearance: simple, blend
  floating: "static"


HTML соответсвенно приведен постом выше, правда вырезаны все ajax вызовы и прочее.

Помогите пожалуйста.
PM MAIL ICQ   Вверх
Sardar
Дата 27.1.2007, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 16
Всего: 317



Цитата(badGamer @  27.1.2007,  11:24 Найти цитируемый пост)
Это происходит без малейших вмешательств в код. У меня она вскакивает как только я ставлю 

Дай ссылку на страницу. Похоже где то бесконечная рекурсия, чего в моём коде не может быть.

Извиняюсь, сейчас очень занят, времени едва хватает проверять этот раздел. Через две недели перепишу подсказки с возможностью загружать инфу аяксом (весь общий код разбежится по ViJio, hook'иться можно с любого места). Раньше никак  smile 


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
badGamer
Дата 28.1.2007, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.1.2007
Где: Кемерово

Репутация: нет
Всего: нет



http://random.1gb.in/emap/map.html вот пожалуйста.
http://random.1gb.in/emap/emap.rar 
Глянь эти ссылки. Если сможешь все-таки посмотри может быстрый взгял в родной код че-нить обнаружит...

Это сообщение отредактировал(а) badGamer - 28.1.2007, 11:47
PM MAIL ICQ   Вверх
Sardar
Дата 28.1.2007, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 16
Всего: 317



Цитата(badGamer @  28.1.2007,  10:45 Найти цитируемый пост)
http://random.1gb.in/emap/map.html вот пожалуйста.

ИЕ7, Опера 9, FF2 - всё работает без ошибок.

ИЕ6 уже нет (винда снесла после апдейта), но если в коде ничего не менял, то под IE6 я раньше тестировал. Понятия не имею почему у тебя выскакивает ошибка... выкладывай версию браузера, призывай больше народу пусть потестят. Это при условии что ссылку дал ты верную и именно там ошибка smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
RomantikKZ
Дата 30.3.2007, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 30.3.2007

Репутация: нет
Всего: нет



Здравствуйте, 
А будет ли всетаки написан мануал? Т.к. очень нужно smile  smile  smile 
PM MAIL   Вверх
Sardar
Дата 30.3.2007, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 16
Всего: 317



RomantikKZ, лучше спроси что не ясно (в отдельной теме) smile

Хотел переписать скрипт, затем ман. Скрипт соистоит из собственно самой логики подсказки + общих функций "на все случаи жизни" + парсер CSS подобного синтаксиса. Хотел это всё разделить по ViJio библиотеке, да с учёбой/работой всё руки не доходят :hmm


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
RomantikKZ
Дата 31.3.2007, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 30.3.2007

Репутация: нет
Всего: нет



Жаль :( Да собсно многое не понятно...А особенно с этой проблемой сток овефлоу как у бадмэна...
PM MAIL   Вверх
Sardar
Дата 31.3.2007, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 16
Всего: 317



Нашёл ошибку, вернее по удивлялся как тупо я умею писать  smile
В примере от badGamer на кучу объектов вешается единый объект-подсказка. В результате регистрируем в цепочку массу "почти одинаковых" обработчиков onmouseover и onmousemove. Даже если бы брауер не захлёбывался, то подсказка работала бы корректно только для самого последнего объекта, потому как состояние "открыто/закрыто" держится в нём (в контексте вызова makeToolTipBox для него), а не в объекте подсказки. Что заставило меня так писать не знаю, но знаю что единую подсказку поставить на кучу объектов пока нельзя smile

Всё равно подсказка простая, используй лучше тип simple (пропиши в ToolTip.defaultSets или задавай аттрибутом tooltip-set), этот тип раньше был выставлен по дефолту. Позже перепишу скрипт.



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Здесь публикуют скрипты, которые уже проверены в обсуждениях других тем (при этом полезно поставить ссылки на все смежные обсуждения) или переносятся кем-либо из модераторов по просьбе участников, если видно, что в результате обсуждения темы был написан полезный или интересный скрипт. Третий возможный вариант - участник форума публикует скрипт, заведомо известный как полезный и эффективный, для, возможно, небольшой доработки и обсуждения.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Наши скрипты | Следующая тема »


 




[ Время генерации скрипта: 0.0938 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.