Почему не работает 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"> <div id="1"></div></td>');
document.write('<td width="60" height="155"> <div id="2"></div></td>');
document.write('<td width="60" height="155"> <div id="3"></div></td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td width="60" height="155"> <div id="4"></div></td>');
document.write('<td width="60" height="155"> <div id="5"></div></td>');
document.write('<td width="60" height="155"> <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>
как сделать так чтоб картинка меняла иды из массива не при каждом обновлении а через каждую секунду? ОЧ НАДЕЮСЬ НА ВАШУ ПОМОЩЬ!!!!!!! |
дело в кавычках:
onclick="alert(" - строка закончилась - hi - непонятное слово, которого в html быть не должно - ")" - снова строка. Надо так: onclick="alert(\"hi\")" |
!!!!!!!!!!
Спасиб те!!а как быть со вторым вопросом?
|
http://javascript.ru/forum/misc/2540...html#post10604
Не забудь прочитать внимательно мои комменты... |
!!!!!!!!!!!!!!!!!!!!!
да!я там посмотрел!!
но мне нужно другое что картинка только одна !бегала по идам ! у тя там в комментариях картинка добавляется в каждый столбик таблица! а мне нужно чтоб она быстро меняла свои столбики!! извини что плохо объясняю!! |
!
зонт,а код про алерт снова не работает в опере и эксплоере торлько белый цвет виден!!
что происходит из за этого онклик я не понимаю ! без онклик вден нормальный фон а с онклик тока белый! |
<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"> <div id="d1"></div></td>';
str += '<td width="60" height="155"> <div id="d2"></div></td>';
str += '<td width="60" height="155"> <div id="d3"></div></td>';
str += '</tr><tr>';
str += '<td width="60" height="155"> <div id="d4"></div></td>';
str += '<td width="60" height="155"> <div id="d5"></div></td>';
str += '<td width="60" height="155"> <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\')" |
Большое спасибо!!
огромное тебе спасибо профессор зонт!!!
всё окей!! я умру от радости если у тя найдётся время чтоб объяснить мне вот этот фрагмент кода 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) })(); !!!!!!!!!!!!!!!!!!!!!!!!! СПАСИБ ЗА ВСЁ ! |
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) - устанавливаем таймаут на вызов этой функции (самой себя) через одну секунду })(); - завершаем описание анонимной функции и сразу же её запускаем. |
!!!!!
спасиб те зонт!!!
огромное спасибо! |
| Часовой пояс GMT +3, время: 03:03. |