Динамический JS: createElement и appendChild
смысл в том чтобы на странице генерировались случайным каждый раз образом дивы, то есть допустим первый раз запускаешь в окне появляется 3 дива, в первом еще какое то количество, во втором еще какое-то тоже случайное, в третьем так же, во внутренних дивах появляются каждый раз случайным образом еще какое то количество дивов, так до тех пор пока они не станут меньше какого то размера, допустим 20 пикселей
и в каждом диве генерируеться случайное число скрипт для генерации трех первых дивов написал а appenchild подключаться не хочет <script type="text/javascript"> NumberOfDivsToRandomDisplay = 6; var CookieName = 'DivRamdomValueCookie'; function DisplayRandomDiv() { var r = Math.ceil(Math.random() * NumberOfDivsToRandomDisplay); var v = r+1; var w = v++; if(NumberOfDivsToRandomDisplay > 1) { var ck = 0; var cookiebegin = document.cookie.indexOf(CookieName + "="); if(cookiebegin > -1) { cookiebegin += 1 + CookieName.length; cookieend = document.cookie.indexOf(";",cookiebegin); if(cookieend < cookiebegin) { cookieend = document.cookie.length; } ck = parseInt(document.cookie.substring(cookiebegin,coo kieend)); } while(r == ck) { r = Math.ceil(Math.random() * NumberOfDivsToRandomDisplay); } document.cookie = CookieName + "=" + r; } for( var i=1; i<=NumberOfDivsToRandomDisplay; i++) { document.getElementById("randomdiv"+i).style.displ ay='none'; } var list = document.getElementById("randomdiv"+r).style.displ ay='block'; document.getElementById("randomdiv"+v).style.displ ay='block'; document.getElementById("randomdiv"+w).style.displ ay='block'; var fiv = document.createElement('div'); fiv.innerHTML = '1'; list.appendChild(fiv).style.display='block'; } DisplayRandomDiv(); </script> |
если у Вас в head этот код то вместо
DisplayRandomDiv(); нужно window.onload=function(){DisplayRandomDiv();} |
Изменений не произошло... хотелось бы конечно увидить работаюший скрипт на добавление рандомных дочерних дивов(
|
само добавление достаточно просто и у Вас правильно написано-а с логикой и кукисами я не разбирался
window.onload=function(){ var d1=document.getElementById('tt'); var d=document.createElement('div'); d.innerHTML='1'; var d2=d1.appendChild(d);} <body> <div id=tt style='border:1px solid black;'>add me</div> |
возможно ли вообще написать код заного так чтобы с нуля создавались эти три элемента с рандомным тектом внутри а уж к ним подключать все .Просто мне кажеться я не от того отталкиваться начал...
|
Цитата:
--------------------------------------- var cl=['red','green','blue','white']; window.onload=function(){fr(200,document.body,0); return; } function fr(w,p,u){var n=2+parseInt(5*Math.random()); for(var i=0;i<n;i++){ var d=document.createElement('div'); d.innerHTML='1'; d.style.width=w+'px'; d.style.height=w+'px'; d.style.background=cl[u]; d.style.overflow='hidden'; p.appendChild(d); var br=document.createElement('br'); p.appendChild(br); var n1=parseInt(w/2);if(n1>10)fr(n1,d,u+1) }; }; |
vadim5june, почему не используете bb-теги (html, js и лучше с run) при оформлении кода (через 10 сообщений уже профессором должны стать)??
|
Цитата:
Если есть такая рекомендация для всех всегда использовать-буду использовать всегда-напишите плиз Вобщем удобно согласен |
Рекомендации нет, но код приятнее смотреть оформленным и лучше, чтобы была возможность сразу просмотреть его в действии.
|
Вот ваш более менее оформленный код.
<script> var cl = ['red', 'green', 'blue', 'white']; function fr(w, p, u) { var n = 2 + parseInt(5*Math.random()); for (var i = 0; i < n; i++) { var d = document.createElement('div'); d.innerHTML = '1'; d.style.width = w + 'px'; d.style.height = w + 'px'; d.style.background = cl[u]; d.style.overflow = 'hidden'; p.appendChild(d); var br = document.createElement('br'); p.appendChild(br); var n1 = parseInt(w/2); if (n1 > 10) fr(n1, d, u+1); } } window.onload = function() { fr(200, document.body, 0); return; } </script> |
Часовой пояс GMT +3, время: 22:53. |