Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Дивы relative и absolute (https://javascript.ru/forum/misc/37768-divy-relative-i-absolute.html)

edison 07.05.2013 14:40

Цитата:

У меня же все 30 страниц находятся на одной, просто управляется скрытие и показ элементов.
так скрывайте
document.getElementById('el').style.display='none' ;
и будет вам счастье, т.к. элемент не будет участвовать в формировании страницы.
А остальное вообще к js не относится.

skrudjmakdak 07.05.2013 21:21

>>>Правила только для того, чтобы соблюдать это не правила.
Ответ:
И все таки правила нужны для того что бы их соблюдать!!
возьмем простую строку:
var a = 1;
все просто var говорит, о том что мы инициализируем переменную
a - это имя переменной.
после чего идет знак равно и потом тому чему она должна равна, тобишь 1.

вот теперь давайте выйдем за границы правил? ну например так:
a = 1 var;
запустите.. выбьет с ошибкой. а все почему? ПРАВИЛА. конечно это не законы физики, которые нам даны не известно откуда.
а эти правила придумали люди. но их тоже нужно соблюдать.. и если сказано нужно делать так, то нужно делать именно так и не иначе..

>>>Вы в примере показываете, что можно отделить стиль от дива, это понятно, вопрос в том, удобно ли мне это
Ответ: я считаю так. вы видите это (мой код) впервые, поэтому непривычно. как говорится свое "говницо" роднее. вам нужно привыкнуть. а насчет удобности, конечно удобно.. еще лучше вообще в другой файл это кидать.

>>>сейчас для меня важна только функциональность (чтобы работало).
Ответ: сейчас для вас научится писать небольшие программки. это все равно что какой нибудь дрыщь захочет поднимать штанги по 200кг..

>>>Лит-ру можно читать, ещё можно курить или пить
Ответ: вы строите свою жизнь, выбор завами...

>>>Простое прочтение мало даст ясности, особенно, когда читаешь не нужный на данный момент материал.
Ответ: могу поискать ссылки, книги по javascript, вот форум.. есть вопросы задавайте...

>>>Зачем 30 страниц на одной? Потому что не происходит ни каких переходов со страницы на страницу и обновления страницы, поэтому и программа не печатает абсолюты сверху.
Ответ: пихать все на одну страницу, имхо извращение.. дело конечно ваше

>>>Если буду заниматься то пойму, но тогда я не буду заниматься другим (возможно более важным) и не пойму его.
Ответ: за двумя зайцами погонишься... дальше думаю знайте..


филосовствовать можно долго на эту тему. вот только была бы польза от всего этого.
как правильно заметил(а) zebra, тут скорей всего вам нужно изучать верстку.. почитайте css, ссылку давал выше.. плюс инет, гугл.. и в том духе.. литературы там много.

вот насчет вашего задания, четно я мало что понял, но вот еще пример(что то на подобии табпанели):

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
	<style type="text/css">
.tabpanel
{
position: relative;
width: 600px;
height: 400px;
top: 30px;
left: 30px;
border: 1px solid black;
}

.tabmenu
{
width: 598px;
height: 23px;
border: 1px solid black;
}

.tabmenuitem
{
width: 100px;
font-size: 11px;
font-family: arial;
height: 17px;
border: 1px solid black;
text-align: center;
margin: 2px;
cursor: pointer;
float: left;
}

.tab
{
width: 590px;
border: 1px solid black;
margin: 4px;
height: 366px;
position: absolute;
}

.tab_content
{
position: relative;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
}
	</style>
	<script type="text/javascript">
var openElement = 0;
function openTab(index)
	{
	var tab = document.getElementById('tabs');
	tab.children[openElement].style.display = 'none';
	
	
	tab.children[index].style.display = 'block';
	
	//----
	tab = document.getElementById('menu');
	tab.children[openElement].style.backgroundColor = '';
	tab.children[index].style.backgroundColor = 'green';
	//----
	
	openElement = index;
	}
	
	</script>
	</head>
	<body>
		<div class="tabpanel">
			<div class="tabmenu" id="menu">
				<div class="tabmenuitem" onclick="openTab(0);" style="background-color: green;">нажми меня</div>
				<div class="tabmenuitem" onclick="openTab(1);">таб 2</div>
				<div class="tabmenuitem" onclick="openTab(2);">таб 3</div>
				<div class="tabmenuitem" onclick="openTab(3);">таб таб таб</div>
			</div>
			<div class="tab" id="tabs">
				<div class="tab_content" style="display: block;">
					<div>открыта первая вкладка!! разуемся и машем</div>
				</div>
				<div class="tab_content" style="display: none;">
					<div><input type="button" value="кликни меня" onclick="alert('йопта! меня нажали!!!');"></div>
				</div>
				<div class="tab_content" style="display: none;">
					<div>тутачки третья вкладка</div>
				</div>
				<div class="tab_content" style="display: none;">
					<div>ну тута тоже текст</div>
				</div>
			</div>
		</div>
	</body>
</html>

bes 07.05.2013 23:11

Цитата:

Сообщение от Masterli
Кажется я не понимаю основ html

почитай про xml

Цитата:

Сообщение от Masterli
нужны ли JS у теги

http://es5.javascript.ru/x4.html#x4
Цитата:

ECMAScript представляет собой объектно-ориентированный язык программирования, предназначенный для проведения вычислений с вычислительными объектами и управления этими объектами в среде выполнения.

Masterli 13.05.2013 14:52

skrudjmakdak
Спасибо за расширенный ответ.
Если всё переделать, ошибка скорее всего исчезнет, но я так и не пойму её природы. Ну да ладно.
Основной вопрос не в том, как исправить ошибку, а как выстроить наиболее правильный алгоритм программирования.

Есть конкретный вопрос.
Сразу писать слои в файле (index.html) или создавать слои из JS, а потом их добавлять, удалять?

Я бы почитал про алгоритм программирования, какие есть модели. Модель MVC слишком обобщённая, хотелось бы как можно подробнее понять, что выносить в отдельные файлы.
У меня сейчас Index.html со слоями (дивами), otobrajenie.js с функциями показа и скрытия групп слоёв (управление страницами),
algoritm.js с основным кодом и server.php с ответами сервера, на различные запросы.
А как делать наиболее правильнее и понятнее для других?
Спасибо.
Очень благодарен.

Masterli 13.05.2013 14:56

//сейчас для вас научится писать небольшие программки. это все равно что какой нибудь дрыщь захочет поднимать штанги по 200кг..

Печально вы меня оцениваете. Никогда не хотел заниматься программированием, но пришлось. Вообще мучаюсь давно, лет 6 по маленьку.
Да и чтобы работало сделать магу, просто требую от себя сделать более правильно. Чтобы работало при любых значениях, чтобы можно было сделать и забыть.

Masterli 15.05.2013 16:45

Честно говоря штанга в 200 кг, даже для становой тяги не мало, не говоря уже про присяд или жим.
Очень не красивое сравнение. Не думал, что я совсем ничего не знаю в программировании и как то слишком быстро вы меня оценили


Часовой пояс GMT +3, время: 00:44.