Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.01.2009, 15:58
Mr. GORA
 
Сообщений: n/a

Почему не работает onclick
привет!!!у мя возникли две проблемы в коде !помогите пожалуйста если можете!
1, Почему такой код выдаёт ошибку
document.getElementById(nam[r]).innerHTML= '<center><img src="test.gif" onclick="alert("hi")"></center>';
а вот такой нет
document.getElementById(nam[r]).innerHTML= '<center><img src="test.gif"></center>';
дело в онклик!почему он вызывает ошибку???
2,вот код скрипта
<html>
<head>

<title>1234567890</title>

</head>

<body>

<script language="javascript">
document.write('<table border="1" bgcolor="lime" width="360" align="center">');
document.write('<tr>');
document.write('<td width="65" height="155">&nbsp;<div id="1"></div></td>');
document.write('<td width="60" height="155">&nbsp;<div id="2"></div></td>');
document.write('<td width="60" height="155">&nbsp;<div id="3"></div></td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td width="60" height="155">&nbsp;<div id="4"></div></td>');
document.write('<td width="60" height="155">&nbsp;<div id="5"></div></td>');
document.write('<td width="60" height="155">&nbsp;<div id="6"></div></td>');
document.write('</tr>');
document.write('</table>');
var a=1; 
var s=2; 
var d=3; 
var f=4; 
var g=5; 
var h=6; 
var nam=new Array(a,s,d,f,g,h); 
var r=Math.floor(Math.random()*6); 
document.getElementById(nam[r]).innerHTML= '<center><img src="test.gif"></center>';
</script>
</body>

</html>

как сделать так чтоб картинка меняла иды из массива не при каждом обновлении а через каждую секунду?
ОЧ НАДЕЮСЬ НА ВАШУ ПОМОЩЬ!!!!!!!

Последний раз редактировалось Андрей Параничев, 15.01.2009 в 17:18. Причина: Пользуйтесь bb-тегами [js] и [html] для оформления листингов кода в теле сообщения
Ответить с цитированием
  #2 (permalink)  
Старый 15.01.2009, 16:01
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

дело в кавычках:
onclick="alert(" - строка закончилась - hi - непонятное слово, которого в html быть не должно - ")" - снова строка.
Надо так:
onclick="alert(\"hi\")"
Ответить с цитированием
  #3 (permalink)  
Старый 15.01.2009, 16:08
Mr. GORA
 
Сообщений: n/a

!!!!!!!!!!
Спасиб те!!а как быть со вторым вопросом?
Ответить с цитированием
  #4 (permalink)  
Старый 15.01.2009, 16:10
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

помогите с таймером в коде!!!
Не забудь прочитать внимательно мои комменты...
Ответить с цитированием
  #5 (permalink)  
Старый 15.01.2009, 16:16
Mr. GORA
 
Сообщений: n/a

!!!!!!!!!!!!!!!!!!!!!
да!я там посмотрел!!
но мне нужно другое что картинка только одна !бегала по идам !
у тя там в комментариях картинка добавляется в каждый столбик таблица!
а мне нужно чтоб она быстро меняла свои столбики!!
извини что плохо объясняю!!
Ответить с цитированием
  #6 (permalink)  
Старый 15.01.2009, 16:21
Mr. GORA
 
Сообщений: n/a

!
зонт,а код про алерт снова не работает в опере и эксплоере торлько белый цвет виден!!
что происходит из за этого онклик я не понимаю !
без онклик вден нормальный фон а с онклик тока белый!
Ответить с цитированием
  #7 (permalink)  
Старый 15.01.2009, 17:08
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

<html>
<head>
<title></title>
</head>
<body>
<script language="javascript">
var str = '<table border="1" bgcolor="lime" width="360" align="center"><tr>';
str += '<td width="65" height="155">&nbsp;<div id="d1"></div></td>';
str += '<td width="60" height="155">&nbsp;<div id="d2"></div></td>';
str += '<td width="60" height="155">&nbsp;<div id="d3"></div></td>';
str += '</tr><tr>';
str += '<td width="60" height="155">&nbsp;<div id="d4"></div></td>';
str += '<td width="60" height="155">&nbsp;<div id="d5"></div></td>';
str += '<td width="60" height="155">&nbsp;<div id="d6"></div></td>';
str += '</tr></table>';
 
document.write(str);

var old = null;
(function(){
    var r=Math.ceil(Math.random()*6);
	if (old!=null) old.innerHTML = '';
	old = document.getElementById('d'+r);
    old.innerHTML='<center><img src="test.gif"></center>';
 
    setTimeout(arguments.callee,1000)
})();
</script>
</body>
</html>


и

onclick="alert(\'hi\')"
Ответить с цитированием
  #8 (permalink)  
Старый 15.01.2009, 17:19
Mr. GORA
 
Сообщений: n/a

Большое спасибо!!
огромное тебе спасибо профессор зонт!!!
всё окей!!
я умру от радости если у тя найдётся время чтоб объяснить мне вот этот фрагмент кода
var old = null;
(function(){
var r=Math.ceil(Math.random()*6);
if (old!=null) old.innerHTML = '';
old = document.getElementById('d'+r);
old.innerHTML='<center><img src="test.gif"></center>';

setTimeout(arguments.callee,1000)
})();
!!!!!!!!!!!!!!!!!!!!!!!!!
СПАСИБ ЗА ВСЁ !
Ответить с цитированием
  #9 (permalink)  
Старый 15.01.2009, 17:51
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

var old = null; - создаём переменную, в которой будем хранить текуший див (тот, в котором сейчас отрисована картинка). На данный момент переменная = null, так как картинка ещё ни разу нигде не отрисована.

(function(){ - начало анонимной функции
var r=Math.ceil(Math.random()*6); - генерируем чисто от 1 до 6
if (old!=null) old.innerHTML = ''; - если картинка была отрисована (old не пуст) то обнуляем его контент (стираем картинку).
old = document.getElementById('d'+r); - перезапоминаем в old новый див (по сгенерированному рандомному числу r)
old.innerHTML='<center><img src="test.gif"></center>'; - отрисовываем в него картинку

setTimeout(arguments.callee,1000) - устанавливаем таймаут на вызов этой функции (самой себя) через одну секунду
})(); - завершаем описание анонимной функции и сразу же её запускаем.
Ответить с цитированием
  #10 (permalink)  
Старый 15.01.2009, 18:39
Mr. GORA
 
Сообщений: n/a

!!!!!
спасиб те зонт!!!
огромное спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не работает JS с подгруженными в DOM элементами? V-z-z-HobboT jQuery 6 30.03.2009 14:02
Не работает onClick добавление тега <s> AvaGet Общие вопросы Javascript 13 09.12.2008 18:41
Помогите! Почему в Opera js-код работает с ошибкой. В IE все нормально. maxonline Events/DOM/Window 4 21.11.2008 12:39
почему не работает <body onload=test()> Ichigeki Общие вопросы Javascript 11 29.10.2008 13:49
Почему не работает скрипт? milvic Общие вопросы Javascript 3 03.03.2008 14:12