КреатиВ.ТуТ

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » КреатиВ.ТуТ » Оффтайм » Подсказки


Подсказки

Сообщений 1 страница 27 из 27

1

Вот есть скрипт подсказки, рабочий можно посмотреть тут outlaw.1bb.ru

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

Вот скрипт:

<script language=javascript>
<!--
  function ShowToolTip (tipobject) {
   if (document.all[tipobject]) {
    var sw = document.body.clientWidth;
    var sh = document.body.clientHeight;
    var dw = document.all[tipobject].clientWidth;
    var dh = document.all[tipobject].clientHeight;
    var cx = self.event.clientX;
    var cy = self.event.clientY;
    if (sw < cx+dw+20) cx=sw-dw-20;
    if (sh < cy+dh+20) cy=sh-dh-20;
    document.all[tipobject].style.top=cy+document.body.scrollTop+15;
    document.all[tipobject].style.left=cx+document.body.scrollLeft+10;
    document.all[tipobject].style.visibility='visible';
   }
  }
function HideToolTip (tipobject) {
  if (document.all[tipobject]) {
   document.all[tipobject].style.visibility='hidden';
  }
}
-->
</script>

<div id=idNx style="VISIBILITY: hidden; POSITION: absolute"><table cellSpacing=0 cellPadding=0 border=0><tbody><tr><td class=tip1 bgcolor=3A4F6C style="FILTER: Alpha(Opacity=90, FinishOpacity=70, Style=0, StartX=1, StartY=1, FinishX=88, FinishY=31)">
<color="blue"><b>&nbsp;Заголовок&nbsp;</b></color>
</td></tr><tr><td class=tip2 bgcolor=5A6C95 style="FILTER: Alpha(Opacity=90, FinishOpacity=70, Style=0, StartX=1, StartY=1, FinishX=88, FinishY=31)">
  <p align="left">Содержимое</p>
</td></td></tr></tbody></table></div>

<div>&nbsp; &middot; <A onmouseover="ShowToolTip('idNx')" onmouseout="HideToolTip('idNx')" onmousemove="ShowToolTip('idNx')" href="ссылка">"Название ссылки"</a></div>

То, что выделенно цветами, соответсвенно заполняется пользователем....

Теперь чтобы пользователю добавить новую строку с подсказкой, допустим туда-же...
Нужно написать целый блок:

<div id=idNx style="VISIBILITY: hidden; POSITION: absolute"><table cellSpacing=0 cellPadding=0 border=0><tbody><tr><td class=tip1 bgcolor=3A4F6C style="FILTER: Alpha(Opacity=90, FinishOpacity=70, Style=0, StartX=1, StartY=1, FinishX=88, FinishY=31)">
<color="blue"><b>&nbsp;Заголовок&nbsp;</b></color>
</td></tr><tr><td class=tip2 bgcolor=5A6C95 style="FILTER: Alpha(Opacity=90, FinishOpacity=70, Style=0, StartX=1, StartY=1, FinishX=88, FinishY=31)">
  <p align="left">Содержимое</p>
</td></td></tr></tbody></table></div>

<div>&nbsp; &middot; <A onmouseover="ShowToolTip('idNx')" onmouseout="HideToolTip('idNx')" onmousemove="ShowToolTip('idNx')" href="ссылка">"Название ссылки"</a></div>

Причем заменить то, что выделенно оранжевым и вписать в место x число, любое, главное что бы id-шники в модуле не повторялись вообще...

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

Почему у меня не получается? хз....

Я хотел сделать так....
Что бы была единая функция, на вход которой идут все параметры, Содержимое, Заголовок, ссылку, описание ссылки ну и id если надо... она создает таблицу-подсказку, крепит к ссылке нужные события ну и отдает.

Отредактировано ExperT (2006-01-06 14:51:54)

0

2

тут я... :)
Объясни плз, что вообще это за подсказки.. а то не особо понимаю... ну или скрином объясни :)

0

3

ща
Вот на outlaw.1bb.ru, пожелания есть, новогодние.... вот это я называю подсказкой

Отредактировано ExperT (2006-01-05 17:42:26)

0

4

вот это выходит при наведении? или при нажатии.. у меня чёто не выходит :(

0

5

При наведении, ну как работают подсказки.

Может ИЕ попробуй.

0

6

понимаешь, скрипт работающий только в ИЕ это не скрипт? снег тоже не падает в Мозилле...
в первом окне кода.. вместо document.all[tipobject].style  напиши document.getElementById("tipobject").style
это для всех браузеров
но всё равно.. данный фильтр рабоатет только под ИЕ, альфа в мозилее имеет другой синтаксис... надо как можно меньше использваоть фильтры.. вредные они.

А вот эти сообщения что выплывают их кто и где заводит?

0

7

везде где есть document.all замени на document.getElementById
all это класс не везде поддерживающийся.. старая конструкция

0

8

С фильтрами понял, с обращением к элементу тоже,
Я сам их ставил и сообщения сам заводил, а где пример откапал не помню.

Фильтры вообще можно убрать, прозрачность только для красоты.

0

9

Но его надо оптимизировать, сделать юзабельнее.
Вроде одной функции, которая будет выдавать подсказку всего-лишь по параметрам ВыдатьПодсказку(Заголовок,Текст,Ссылка,ИмяСссылки)... типа того.

0

10

в ИЕ альфа задаётся вот так(opacity=90), а в мозиле (opacity:0.9) или (opacity:90%)
надо написать для двух браузерах сразу.. тока это надо в скрипте, а не прям в хтмл коде тогда

0

11

да, так что тебе надо исправить?
ну то что под браузеры это да..
а ообще она должна что-то ещё делать?

0

12

Так расскажи, заменить-то я смогу, но сам алгоритм не правильный.
Говорю же нужна единая функция возвращающая уже готовую строку, и создающую эту таблицу-подсказку. У этой функции входящие параметры это Содержание, Заголовок, Ссылка, НазваниеСсылки, все что использовались в скрипте...

И потом эту функцию можно будет использовать уже где хочешь.

0

13

про фильтр я сам не особо знаю... читал где-то.. надо искать..

а про функцию... где тебе ещё надо использовать её?
если честно то не понял тебе, что у тебя не получается?

0

14

Её нужно превратить в одну функцию, одну.

Т.е. когда я хочу где-то в хтмл коде вставить ссылку с подсказкой, мне всеголишь надо написать
<script>
GetLinkWithToolTip('Соур ссылки','Название ссылки','Заголовок подсказки','Содержимое подсказки');
</script>

а сам вот этот гетлинкблабла(.....), надо написать так, что бы он уже делал всё то, что делает скрипт, причем оптимально.

0

15

ааа, не получится...
так как к примеру у тебя это в Шапке форума... уже в Post Entry её не будет видно, эту функцию...
можно прописать одну в пхп файле и всё, но нам этого не дано
тогда там где ты будешь эту использвоать пропиши эту функцию

0

16

Я хз что не получается, я и так и сяк делаю, где-то да ошибаюсь, не клеится... а потестить я никак не могу, кроме как догадками, что там не так.... поэтому у тебя спросить хотел...

0

17

Да прописать-то я пропишу.... если надо будет на каждый модуль свою, но всё-таки...
Превратить её в единую функцию у меня не получилось, почему-то

Я пытался сделать типа:
<script>
gettip(link,linktext,topic,text) {
  document.write('весь этот код');
}
// другие функции, родные скрипта
</script>

подтом уже в хтмле
вставил
<script>
gettip('123','123','123','123');
</script>

получилось черти што...

0

18

<script>
gettip(link,linktext,topic,text) {
document.write('весь этот код');
}
// другие функции, родные скрипта
</script>
может ты забыл слово function?:

<script>
function gettip(link,linktext,topic,text) {
document.write('весь этот код');
}
// другие функции, родные скрипта
</script>

0

19

Блин... как бы так по-человечески-то мне объяснить :)

Вообщем алгоритм такой:

Скрипт объявлений функций

Функция:ВерниМнеСсылкуСПодсказкой(ХТТПСсылка,ОписаниеСсылки,ЗаголовокПодсказки,СодержимоеПодсказки) {
   Внутри функции, я создаю единый код этой таблицы с ашрефом, вставляя значения, переданные параметрами в эту функцию.
}

Функция:ПокажиПодсказку(Айди) {
По айди элемента нахожу и говорю покажи.
}

Функция:СкройПодсказку(Айди)
По айди элемента нахожу и говорю скрой.
}

Конец скрипта определений функций.

Теперь в любом месте хтмл шаблона, кроме самого скрипта я вставляю строчку
скрипт
ВерниМнеСсылкуСПодсказкой(Все параметры);
/скрипт

И должно получится что вместо этого скрипта появляется ссылка с онмаусемувами ссылающимися на функции и таблицей-подсказкой.
Ну и всё вроде.

0

20

Не, не забыл :)

0

21

и тебе это надо слить в одну?

0

22

ну да... если делаешь несколько, приходится многое писать, это затрудняет и чтение потом.....

0

23

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

0

24

ррр....  :)

мне важно одно

Что бы я получал ссылку вместе с подсказкой всего одной строчкой, куда она будет ссылаться дальше уже не важно...

Вот скрипт

Код:
<script>
  function givemeCollLink(link,linkname,topic,text) {
   document.write('<div id=idNx style="VISIBILITY: hidden; POSITION: absolute"><table cellSpacing=0 cellPadding=0 border=0><tbody><tr><td class=tip1 bgcolor=3A4F6C style="FILTER: Alpha(Opacity=90, FinishOpacity=70, Style=0, StartX=1, StartY=1, FinishX=88, FinishY=31)">
<color="blue"><b>&nbsp;' + topic + '&nbsp;</b></color>
</td></tr><tr><td class=tip2 bgcolor=5A6C95 style="FILTER: Alpha(Opacity=90, FinishOpacity=70, Style=0, StartX=1, StartY=1, FinishX=88, FinishY=31)"><p align="left">' + text + '</p></td></td></tr></tbody></table></div><div>&nbsp; &middot; <A onmouseout="HideToolTip('idNx')" onmousemove="ShowToolTip('idNx')" href="' + link + '">"' +  linkname + '"</a></div>');
   }

  function ShowToolTip (tipobject) {
   if (document.all[tipobject]) {
    var sw = document.body.clientWidth;
    var sh = document.body.clientHeight;
    var dw = document.all[tipobject].clientWidth;
    var dh = document.all[tipobject].clientHeight;
    var cx = self.event.clientX;
    var cy = self.event.clientY;
    if (sw < cx+dw+20) cx=sw-dw-20;
    if (sh < cy+dh+20) cy=sh-dh-20;
    document.all[tipobject].style.top=cy+document.body.scrollTop+15;
    document.all[tipobject].style.left=cx+document.body.scrollLeft+10;
    document.all[tipobject].style.visibility='visible';
   }
  }

function HideToolTip (tipobject) {
  if (document.all[tipobject]) {
   document.all[tipobject].style.visibility='hidden';
  }
}

</script>

это пусть определения функций...

А теперь мне нужна ссылка с подсказкой, и я должен сделать в том месте, где я её хочу видеть вот так:

Код:
<script>
  givemeCollLink('ххтп:\\ссылка.ру'.'Это ссылка'.'Подсказка ссылки'.'Содержимое подсказки');
</script>

Ну вот и должно всё фунциклячить.... но у меня не получилось.

0

25

а.. то есть ты хочешь, чтоб где ты написал:
<script>
givemeCollLink('ххтп:\\ссылка.ру'.'Это ссылка'.'Подсказка ссылки'.'Содержимое подсказки');
</script>
там оно полностью работало? при наведении открывалось, при отведении закрывалось?

0

26

там это где?)
Работает оно так, как написано в первом посте...
а я хочу сделать так что бы работало по одной строчке, а не по куче строк... вот последний скрипт, это то, как я себе представляю.

0

27

Остановимся на последней подсказке. Энто в Архиф.

0


Вы здесь » КреатиВ.ТуТ » Оффтайм » Подсказки