Jump to content
  • 0

Всплывающее сообщение


people2010
 Share

Question

Как сделать всплывающее сообщение при наведении мышкой, чтоб оно появлялось, а потом простояв 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>

Edited by people2010
Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

И что именно вы тут попробовали? У вас есть кнопка по нажатию на которую вызывается функция bounty где у вас стоит задержка на вызов функции im которая добавляет некую картинку...

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

setTimeout("im(),4000");

В следающей строке вообще путаница с кавычками и апострофами...

document.write('<img style='margin-left:500px; margin-top:400px;' src="1.gif" alt='Подсказка'>');

Так же интересно вы хоть задумывались куда именно будет вставлена эта строка если бы вы ее правильно написали? ))

Link to comment
Share on other sites

  • 0

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

один посоветовал так.Написал так, при наведении мышкой на ссылку в браузере ИЕ, выдаёт сообщение.

Требуется объект Строка 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>

Edited by people2010
Link to comment
Share on other sites

  • 0

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

var bounty_obj = document.getElementById('hint');

Смотрите вот в этой строке вы пытаетесь получить элемент которого еще нету... Ситуация один в один как тут http://forum.htmlbook.ru/index.php?showtop...t=0&start=0

Как вам уже говорили попробуйте воспользоваться обработчиком события onLoad

Edited by stars
Link to comment
Share on other sites

  • 0
Пробую так дописывать в с крипт, не работает.

window.onload = bounty_obj;

Вы вот так просто и дописали? )) А чего вы сами то ожидали получить? Суть то в том что вы объявляете глобальную переменную в которую вам надо получить обьект, я честно в JS не очень силен, я бы написал так:

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

Edited by stars
Link to comment
Share on other sites

  • 0

Написал код так:

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

var bounty_obj;
window.onload =
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>

Странно, выдало следующие ошибки:

Строка 14 символ 5 требуется объект

Строка 23 символ 9 требуется объект

Link to comment
Share on other sites

  • 0

Ещё момент, скажите как сделать, чтоб картинка выехала, постояла 2 секунда и опять заехала. Думаю что цикл нужен и смена координат за кадой итераций, но как именно это в коде написать не знаю. Подскажите как это сделать. Заранее

благодарю.

Edited by people2010
Link to comment
Share on other sites

  • 0

По поводу предыдущего кода:

В функции bounty_show()

Там делается сравнение

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

Что будет означать вот это с точкой bounty_hide.T в сравнении?

Это значит доступ через мою созданную функцию с именем bounty_hide к какой-то другой переменной находящейся в другой функции что ли?

Меня смущает .Т, почему она может ещё и добавлятся к названию любой функции где угодно?

Link to comment
Share on other sites

  • 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>

Link to comment
Share on other sites

  • 0

Вот упрощённый код:

<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 получает своё значение в теле совсем другой функции,которая находится ниже?

3)clearTimeout(timeoutik); Без этой строки также работает, значит можно её убрать просто написав

timeoutik = 0; ?

Edited by people2010
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy