Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.04.2011, 18:15
Интересующийся
Отправить личное сообщение для martinss Посмотреть профиль Найти все сообщения от martinss
 
Регистрация: 29.12.2010
Сообщений: 24

Показать и спрятать картинку
Добрый день, всем!
Писал скрипт и столкнулся с проблемой:

нужно по определенному событию показать на сайте картинку, и через 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 секунды ее спрятать."


Всем заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 02.04.2011, 18:48
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

<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 то мы можем их получать, а что бы получить свойства указанные непосредственно в стилях то нужно воспользоваться другими методами (читай по ссылке выше)
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай

Последний раз редактировалось walik, 02.04.2011 в 18:59.
Ответить с цитированием
  #3 (permalink)  
Старый 02.04.2011, 20:34
Интересующийся
Отправить личное сообщение для martinss Посмотреть профиль Найти все сообщения от martinss
 
Регистрация: 29.12.2010
Сообщений: 24

Спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фоновую картинку поменять. Jurasmi Элементы интерфейса 11 08.10.2012 15:25
Показать картинку в зависимости от значения переменной arahmanov Общие вопросы Javascript 1 29.01.2011 16:07
С помощью JS добавить к ссылкам картинку в CSS wlad2 Элементы интерфейса 7 16.10.2010 23:44
Нужно убрать картинку valeriys Общие вопросы Javascript 5 13.09.2010 13:40
Как передать картинку из javascript в php KIVagant AJAX и COMET 3 12.05.2010 11:54