Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2010, 17:55   #1
Kapitann
Заблокирован
 
Регистрация: 26.07.2010
Сообщений: 160
По умолчанию Несен момент в коде

Есть код:
Код:
<html><head>
<title>Тренировочный документ</title>
<script type='text/javascript'>

var bounty_obj;
window.onload = function () {
bounty_obj = document.getElementById('hint');
};

function bounty_show() {
    if (bounty_hide.T) {
        clearTimeout(bounty_hide.T);
        bounty_hide.T = 0;
    };
    bounty_obj.style.display = 'block';
};

function bounty_hide() {
    if (bounty_hide.T) {
        clearTimeout(bounty_hide.T);
        bounty_hide.T = 0;
    };

    bounty_hide.T = setTimeout(function(){
        bounty_obj.style.display = 'none';
        bounty_hide.T = 0;
    }, 1000);
};

</script>
</head>
<body>

<a href='page.html' onMouseOver='bounty_show()' onMouseOut='bounty_hide()'>Переход в будующее</a>
<div id="hint" style="display:none; position:absolute; left:10px; top:35px;"><img src='1.gif' alt=''></div>
Когда-то в студенную зимнюю пору,<br> я из лесу вышел, был сильный мороз,
Гляжу,поднимается <br> высоко в гору, кто? Лошадка несущая хворосту воз 

</body>
</html>

По поводу кода:
В функции bounty_show()
Там делается сравнение
Код:
if (bounty_hide.T) {
clearTimeout(bounty_hide.T);
bounty_hide.T = 0;
Что будет означать вот это с точкой bounty_hide.T в сравнении?
Это значит доступ через мою созданную функцию с именем bounty_hide к какой-то другой переменной находящейся в другой функции что ли?
Меня смущает .Т, почему она может ещё и добавлятся к названию любой функции где угодно?

Последний раз редактировалось Kapitann; 12.08.2010 в 17:08.
Kapitann вне форума Ответить с цитированием
Старый 11.08.2010, 18:49   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Просто переменная так названа. Там таймер текущий сохраняется
Black Fregat вне форума Ответить с цитированием
Старый 12.08.2010, 15:52   #3
Kapitann
Заблокирован
 
Регистрация: 26.07.2010
Сообщений: 160
По умолчанию

Как это через точку можно написать вначале название метода, потом точка, название переменной?

Последний раз редактировалось Kapitann; 12.08.2010 в 17:09.
Kapitann вне форума Ответить с цитированием
Старый 12.08.2010, 17:57   #4
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Вот цитата из одного учебника:
Цитата:
Javascript - объектный язык. В нем все является объектами. Строки, числа, функции и массивы - все это объекты со своими методами и свойствами. Это надо знать и иметь в виду с самого начала.
Написание имени через точку фактически дает обращение к свойству объекта.
Если его не было, при первом присваивании оно появляется:
Код:
  function myClick() {alert(myClick.msg); myClick.msg+=")"; }
  myClick.msg = ":)"
Black Fregat вне форума Ответить с цитированием
Старый 16.08.2010, 18:20   #5
Kapitann
Заблокирован
 
Регистрация: 26.07.2010
Сообщений: 160
По умолчанию

Вот упрощённый код:
Код:
<html>
<head><title>Document</title>
<script type='text/javascript'>
var a,timeoutik;

function f1(){
if(timeoutik){
clearTimeout(timeoutik);
timeoutik = 0;
};
if(!a) a = document.getElementById('tik_tak');
a.style.display = 'block';
};

/*_____________________________________________________________*/

function f2(){
if(timeoutik){
clearTimeout(timeoutik);
timeoutik = 0;
};

timeoutik = setTimeout(function(){
if(!a) a = document.getElementById('tik_tak');
a.style.display = 'none';
},2000);

};
</script>

</head>
<body>
<a href='page.html' onMouseOver='f1()' onMouseOut='f2()'>Жми на меня</a>
<div id="tik_tak" style="display:none; 
position:absolute; left:10px; top:35px;">
<img src='1.gif' alt='фотка'></div>

</body>
</html>
1)А почему обработчик событий onMouseOut='bounty_hide()'>
засовывается в онлоад,то есть когда пользователь увёл мышку от текста?

2)Как может в этой функции

Код:
 function bounty_show() {
	if (bounty_hide_timeout) {
		clearTimeout(bounty_hide_timeout);
		bounty_hide_timeout = 0;
	};
	if (!bounty_obj) bounty_obj = document.getElementById('hint');
	bounty_obj.style.display = 'block';
};
происходит проверка if (bounty_hide_timeout) { на то, содержит ли переменная bounty_hide_timeout что нибудь, если bounty_hide_timeout получает своё значение в теле совсем другой функции,которая находится ниже?
Kapitann вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DBRichViewEdit - есть непонятный момент mihali4 Компоненты Delphi 6 31.12.2009 13:12
Корелляционный момент PONKA Microsoft Office Excel 2 09.12.2009 20:29
хотелось бы уточнить один момент... selestenka Помощь студентам 4 04.01.2009 20:14
Pascal, момент с выводом массива. SZero Помощь студентам 2 20.09.2008 15:38
HELP!!! как обрабатать только 2 нажатия в 1 момент времени. frai Общие вопросы Delphi 4 16.04.2007 16:10