Почему не работает 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, время: 09:12. |