Интереснейшая задачка!
del
|
MyBigFriend,
:) :dance: генератор комнат ... осталось соединить коридорами ))) <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script> $(function () { function randomNumber(d) { d = parseInt(d); var e = Math.floor(0.2 * d), a = Math.floor(0.8 * d), a = Math.floor(Math.random() * (a - e + 1)) + e; return [a, d - a] } function append() { $("div:empty") .each(function (d, e) { var a = $(e), b = a.height(), c = a.width(); b > c || Math.random() > .7? (b = randomNumber(b - 4), c = [c - 2, c - 2]) : (b = [b - 2, b - 2], c = randomNumber(c - 4)); $("<div/>", { css: { height: b[0], width: c[0] } }) .appendTo(a); $("<div/>", { css: { height: b[1], width: c[1] } }) .appendTo(a) }) } function end() { $("div:empty") .each(function (d, e) { var a = $(e), b = a.height(), c = a.width(), b = randomNumber(b), c = randomNumber(c), f = randomNumber(b[1]), g = randomNumber(c[1]); $("<div/>", { css: { margin: f[0] + "px " + g[0] + "px " + f[1] + "px " + g[0] + "px", height: b[0], width: c[0], background: "#228B22" } }) .appendTo(a) }) }; function run() { append(); append(); append(); append(); end(); } $(":button").click(function () { $('.first').empty();run() }).click() }) </script> <style> div{border:1px solid black;text-align:center;padding:0px;font-size:14px;color:#000; margin: 0px; float: left; } .first{width:400px; height: 400px;} </style> </head> <body> <div class="first"></div> <input name="" type="button" value="more"> </body> </html> |
Цитата:
|
Ого, я так понял тут jquery используете, я в js то слаб, а jquery вообще не шарю) если можно в кратце опишите, что тут происходит.:)
|
Цитата:
|
если использовать такой подход, мы не сможем проложить коридоры? т.к. у нас нет никакой информации об этих дивах..
|
Цитата:
|
Цитата:
|
MyBigFriend,
Цитата:
|
Цитата:
у меня в js есть объект: var obj = new Obj(0, 0, 100, 150); где первые 2 значения это координаты, третье ширина, четвертое высота прямоугольника. Какой код нужно написать, чтобы его правильно отобразило на странице?:help: |
Цитата:
вверху есть ссылочка Курсы javascript <!DOCTYPE HTML> <html> <head> <title>Untitled</title> </head> <body> <script> function Obj(top, left, width, height) { var d = document.createElement("div"), c = d.style; c.backgroundColor = "#00FF33"; c.width = width + "px"; c.height = height + "px"; c.position = "absolute"; c.top = top + "px"; c.left = left + "px"; document.body.appendChild(d); return d } var obj = new Obj(0, 0, 100, 150), div = new Obj(0, 200, 100, 100); div.style.backgroundColor = "red" </script> </body> </html> |
рони, спасибо! Сам бы долго читал этот учебник. Спасибо за помощь)) Осталось разобраться с коридорами :D
|
Господин, рони, а как такой же код смотрелся бы в jquery?
|
MyBigFriend,
строки 25 - 31, 32 - 38, 52 - 60 во втором посте |
рони, а откуда берется переменная e, которую вы везде используете, и что это вообще?)
|
MyBigFriend,
читайте документацию по jquery в данной функции .each(function (d, e) e = this d = index |
рони,
спасибо:) |
Часовой пояс GMT +3, время: 17:45. |