Показать и спрятать картинку
Добрый день, всем!
Писал скрипт и столкнулся с проблемой: нужно по определенному событию показать на сайте картинку, и через 2 секунды ее спрятать. Вот что написал: <head> <script type="text/javascript"> <!-- function flame(i){ var p = i; if(document.getElementById(p).style.display == 'block'){ document.getElementById(p).style.display = 'none'; } else{ document.getElementById(p).style.display = 'block'; setInterval(flame(p),2000); } } --> </script> </head> <body onLoad="setInterval(flame('c5'),3000)"> ..... </body> НЕРАБОТАЕТ!!! Не могу понять в чем косяк....... если например перед document.getElementById(p).style.display = 'none'; написать alert('hello'); то все работает как нужно... Как решить эту проблему? Или у кого может есть другие варианты решения задачи: "нужно по определенному событию показать на сайте картинку, и через 2 секунды ее спрятать." Всем заранее спасибо. |
<html> <head> <script type="text/javascript" language="javascript"> function show() { document.getElementById('img').style.display = 'block'; setTimeout(function(){document.getElementById('img').style.display = 'none';}, 2000); } </script> </head> <body> <a href="#" onclick="show(); return false;">Показать</a><br /> <img id="img" src="http://javascript.ru/forum/images/smilies/smile.gif" style="display: none;"/> </body> </html> Ну а вообще скорее всего конкретно в вашем коде ошибка в том что вы не правильно получаете стили. Прочитайте: Доступность значения стиля (Метод getComputedStyle, Свойство currentStyle, Как работать со свойствами стилей) Вот ошибка которая скорее всего у вас: <html> <head> <script type="text/javascript" language="javascript"> function show(id) { alert(document.getElementById(id).style.display); } </script> <style> #img2 { display: none; } </style> </head> <body> <a href="#" onclick="show('img1'); return false;">Показать (получаем)</a><br /> <img id="img1" src="http://javascript.ru/forum/images/smilies/smile.gif" style="display: none;"/> <a href="#" onclick="show('img2'); return false;">Показать (пусто)</a><br /> <img id="img2" src="http://javascript.ru/forum/images/smilies/smile.gif" /> </body> </html> Если указать стили в атрибуте style то мы можем их получать, а что бы получить свойства указанные непосредственно в стилях то нужно воспользоваться другими методами (читай по ссылке выше) |
Спасибо:)
|
Часовой пояс GMT +3, время: 01:28. |