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

Поиск:

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


Опытный
**


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

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



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

<html><head>
<title>Тренировочный документ</title>
<script type='text/javascript'>
function im(){
document.write('<img style='margin-left:500px; margin-top:400px;' src="1.gif" alt='Подсказка'>');
}


function bounty(){
setTimeout("im(),4000");
}

</script>
</head>
<body>

<input type='button' value='knopka' onClick='bounty()'>

</body>
</html>


Это сообщение отредактировал(а) Golovastik - 10.8.2010, 20:19
PM MAIL   Вверх
bars80080
Дата 10.8.2010, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Golovastik, по-моему, в одной вашей теме некто уже ругался по поводу document.write(). не помните?

её нельзя использовать, не понимая полностью её целей и назначения. в качестве примеров её приводят только учебники, написанные недоучками.



по теме:
делаете див с display: none; а потом по нажатию кнопки делаете display: block

кстати, суть функции bounty() ? таймер наоборот надо запихивать в im(), и вызывать им некоторую другую функцию, которая закроет окно
PM MAIL WWW   Вверх
Golovastik
Дата 10.8.2010, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Как сделать чтоб при наведении мышкой на ссылку, всплывало мое изображение с задержкой 4 секунды.
PM MAIL   Вверх
Golovastik
Дата 10.8.2010, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Один посоветовал так.Написал так, при наведении мышкой на ссылку в браузере ИЕ, выдаёт сообщение.
Требуется объект Строка 11 Символ 5

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

var 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;
    }, 4000);
};

</script>
</head>
<body>

<a href='page.html' onMouseOver='bounty_show()' onMouseOut='bounty_hide()'>Переход в будующее</a>
<div id="hint" style="display:none"><img src='1.gif' alt='Информация'></div>

</body>
</html>

PM MAIL   Вверх
EmilRegis
Дата 11.8.2010, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



у вас bounty_obj определяется ещё до загрузки страницы, он ещё тогда не определён, поэтому и ошибка возникает..Повесьте на боди событие onload и там его определите
Код

<script>
var bounty_obj;
function init(){
     bounty_obj = document.getElementById('hint');
}
</script>
.....
<body onload="init();">


Это сообщение отредактировал(а) EmilRegis - 11.8.2010, 09:34
PM MAIL   Вверх
Golovastik
Дата 11.8.2010, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ещё момент, скажите как сделать, чтоб картинка выехала, постояла 2 секунда и опять заехала. Думаю что цикл нужен и смена координат за кадой итераций, но как именно это в коде написать не знаю. Подскажите как это сделать. Заранее
благодарю. 
PM MAIL   Вверх
Golovastik
Дата 11.8.2010, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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




По поводу предыдущего кода:
 В функции bounty_show()
Там делается сравнение
Код
if (bounty_hide.T) {
clearTimeout(bounty_hide.T);
bounty_hide.T = 0;


Что будет означать вот это с точкой bounty_hide.T в сравнении?
Это значит доступ через мою созданную функцию с именем bounty_hide к какой-то другой переменной находящейся в другой функции что ли?
Меня смущает .Т, почему она может ещё и добавлятся к названию любой функции где угодно?
PM MAIL   Вверх
EmilRegis
Дата 11.8.2010, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



bounty_hide.T у вас это внутренняя переменная функции bounty_hide...Если не ошибаюсь можно было бы написать вместо этого this.T = setTimeout(function(){});
и внутри bounty_hide обращаться к ней просто как this.T=0 а из других функций обращаться к ней bounty_hide.T

Добавлено @ 16:58
а в сравнении if это означает только то, что в переменной есть какое-то значение, т.к. функция setTimeout возвращает идентификатор счётчика, то if(bounty_hide.T) будет выполняться, если не выполнено clearTimeout(bounty_hide.T);

Это сообщение отредактировал(а) EmilRegis - 11.8.2010, 16:59
PM MAIL   Вверх
Golovastik
Дата 11.8.2010, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



bounty_hide.T у вас это внутренняя переменная функции bounty_hide..
Как это понимать внутренняя? Почему она используется выше если определена ниже и где она определена вообще?
PM MAIL   Вверх
EmilRegis
Дата 11.8.2010, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



дак вот в твоём коде и определена
Код

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;
    }, 4000);
};


Добавлено через 6 минут и 7 секунд
да и чё-то я не ловлю какой смысл имеют эти строки в обеих функциях
Код

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

Если ты их уберёшь, то работать будет так же
Код

<html><head>
<title>Тренировочный документ</title>
<script type='text/javascript'>
var bounty_obj = document.getElementById('hint');
function bounty_show() {
    bounty_obj.style.display = 'block';
};
function bounty_hide() {
    setTimeout(function(){
        bounty_obj.style.display = 'none';
    }, 4000);
};
</script>
</head>
<body>
<a href='page.html' onMouseOver='bounty_show()' onMouseOut='bounty_hide()'>Переход в будующее</a>
<div id="hint" style="display:none"><img src='1.gif' alt='Информация'></div>
</body>
</html>


Это сообщение отредактировал(а) EmilRegis - 11.8.2010, 17:38
PM MAIL   Вверх
Golovastik
Дата 12.8.2010, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Да, точно ваш код лучше.
Одного не могу понять почему именно так надо писать с онлоадом.
Код

<html><head>
<title>Тренировочный документ</title>
<script type='text/javascript'>
var bounty_obj;
window.onload = function(){
bounty_obj = document.getElementById('hint');
}

function bounty_show() {
    bounty_obj.style.display = 'block';
};
function bounty_hide() {
    setTimeout(function(){
        bounty_obj.style.display = 'none';
    }, 4000);
};
</script>
</head>
<body 
<a href='page.html' onMouseOver='bounty_show()' onMouseOut='bounty_hide()'>Переход в будующее</a>
<div id="hint" style="display:none"><img src='1.gif' alt='Информация'></div>
</body>
</html>


Если написать как у вас выше:

Код

<html><head>
<title>Тренировочный документ</title>
<script type='text/javascript'>
var bounty_obj = document.getElementById('hint');
function bounty_show() {
    bounty_obj.style.display = 'block';
};
function bounty_hide() {
    setTimeout(function(){
        bounty_obj.style.display = 'none';
    }, 4000);
};
</script>
</head>
<body>
<a href='page.html' onMouseOver='bounty_show()' onMouseOut='bounty_hide()'>Переход в будующее</a>
<div id="hint" style="display:none"><img src='1.gif' alt='Информация'></div>
</body>
</html>


Выдаст сообщение что ожидается объект, почему?

Это сообщение отредактировал(а) Golovastik - 12.8.2010, 13:03
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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