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

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Объясните мне скрипт, Всплывающие подсказки 
:(
    Опции темы
Bangladesh
Дата 26.7.2005, 06:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: -1
Всего: 17



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

Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>Untitled</title>
<style type="text/css">
.tool_tip {
 
 font-family: Tahoma, verdana;
 font-size: 8pt;
 position: absolute;
 visibility: hidden;
 padding-top: 2px;
 padding-left: 5px;
 padding-right: 5px;
 padding-bottom: 2px;
 /* styles */
 background-color: #EEEEEE;
 border: 1px #999999 dashed;
}
</style>


а вот сам скрипт.

Код

<script type="text/javascript">
<!--
ToolTip.offsetX=20; //смещения подсказки от курсора
ToolTip.offsetY=15; //

function ToolTip(obj, text) {
  
  if(!obj||obj.nodeType!=1) throw "Illigal argument exception"; //обьект к кому привязываем подсказку
 
  //-- Разметка подсказки ---
  var tip=document.createElement("DIV");
  tip.className="tool_tip";
  tip.innerHTML=text;
  document.body.appendChild(tip);
  //-- события --
  obj.onmouseout=function (ev) {
      tip.style.visibility="hidden";
  };
  
  obj.onmousemove=function(ev) { //если не нужно что бы подскасзка бегала, то onmouseover
      tip.style.visibility="visible";
      if(window.event) ev=window.event;
      tip.style.left=ev.clientX + document.body.scrollLeft + ToolTip.offsetX;
      tip.style.top=ev.clientY + document.body.scrollTop + ToolTip.offsetY;
  };
}

//переберем заданные элементы, дадим подказку тем у кого есть аттрибут tooltip
//В аргументах передаем имена рассматриваемых тегов, * все теги

 function initToolTips() {
 //   return;
    var tags, tooltext;
    for(var i=0; i<arguments.length; i++) {
       tags=document.body.getElementsByTagName(arguments[i]);
       for(var j=0; j<tags.length; j++)
            if((tooltext=tags[j].getAttribute("tooltip"))) ToolTip(tags[j], tooltext);
   }
}
//-->
</script>


Код

</head>
<body onload="initToolTips('SPAN','IMG')">
  <span 
  tooltip="Медведь был добрый, но злой..."><a href=#>Пример</a></span>
</body>
</html>


собственно, тут строки нечего называть. необходимо объяснить каждую строку + эту вещь с onload в боди и как образовался tooltip. все остальные, вытекающие, вопросы задам потом.


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 26.7.2005, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



О, узнаю свой код smile

Если взял его не отсюда: http://forum.vingrad.ru/index.php?showtopic=53318 то скажи, а то интересно кто это комент с авторством удалил.

Первый листинг это стили. Что такое стили долго обьяснять, иди в вёрстку. Главное там position: absolute.

Во втором листинге две функции, первый это конструктор обьекта "подсказки", в нём содаём необходимую разметку. Вторая функция собирает все указанные в аргументе теги на странице и инициализирует для них "подсказки".

Говори какие конкретно строки не ясны.


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


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: -1
Всего: 17



Цитата(Sardar @ 26.7.2005, 14:38)
О, узнаю свой код smile

Если взял его не отсюда: http://forum.vingrad.ru/index.php?showtopic=53318 то скажи, а то интересно кто это комент с авторством удалил.

Первый листинг это стили. Что такое стили долго обьяснять, иди в вёрстку. Главное там position: absolute.

Во втором листинге две функции, первый это конструктор обьекта "подсказки", в нём содаём необходимую разметку. Вторая функция собирает все указанные в аргументе теги на странице и инициализирует для них "подсказки".

Говори какие конкретно строки не ясны.

да - это твой код, вот только я не так просил объяснить. я вообще не знаю, что это за объект ToolTip и где он создался и че за строки где !obj||obj - это че такое ваще?


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 27.7.2005, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



Цитата(I)
что это за объект ToolTip

Для начала подумаем что же такое подсказка? Это некой элемент(div) появляющийся при наведении мышкой на другой элемент(хорошо бы задержку организовать smile ). Взглянув на функцию/конструктор ToolTip видим как создаёться этот слой методами DOM.


Цитата(I)
!obj||obj - это че такое ваще?

Уцебниками не пробовал пользоваться? Говорят помогает smile Я серьёзно, прежде чем задать вопрос нужно знать 70% ответа smile

Полнoe условие: !obj||obj.nodeType!=1 - если обьект null или его поле nodeType не равно 1. В C, C++, C#, Java и других C подобных языках используеться такая же конструкция. Читай азы.


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


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: -1
Всего: 17



вообще-то я читаю уже второй самоучитель. в первом я ничего не нашел, потому что он ознакомительный. а второй сейчас читаю на методах и свойствах STRING. уж я точно думаю, что от того, что ты объяснил ты не умрешь. это твоя работа и на это есть форум. разве жизнь была бы интересной, если бы этого небыло. smile вообщем спасибо!


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
o.s.a.
Дата 28.7.2005, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Xo4y B MocKBy
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.2.2005
Где: Ташкент

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



Цитата
уж я точно думаю, что от того, что ты объяснил ты не умрешь. это твоя работа и ...

неблагодарный ХАМ

Это сообщение отредактировал(а) o.s.a. - 28.7.2005, 09:51


--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
Иль
Дата 28.7.2005, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



I, GyoZ, ну ты нахалище smile. Если это работа, так плати! smile


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Sardar
Дата 28.7.2005, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



I, GyoZ во блин, из-за тебя впервые позволяю офтопу жить в теме smile
Не понял на что ты обидился(уколол и плюс в репу...), не могу же я втирать тебе азы языка, у тебя самого уйдёт максимум неделя, JS очень прост.

Fорум это не работа, а хобби. Ты уйдёшь, а форум останеться smile


o.s.a., Иль, ребят, спасибо, но больше не флеймим smile


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


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: -1
Всего: 17



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


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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