Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   DHTML/JS/CSS (http://www.flasher.ru/forum/forumdisplay.php?f=24)
-   -   Позиционирование элементов (http://www.flasher.ru/forum/showthread.php?t=61763)

P@$l-l0l-( 11.08.2004 15:09

Позиционирование элементов
 
У меня такая проблема.
У меня на странице есть таблица, либо какой другой элемент с атрибутом, к примеру, align="center". Теперь вопрос. Могу ли я какими либо средствами получить координаты одного из углов этой таблицы или ширину или длину. Т.е. могу ли я, не задавая в начале style="width:100; left:10", получить их потом.

zeboton 11.08.2004 15:25

Ты у этого объекта ( таблицы или другого какого ) задай ID, т.е.
Код:

<table ID="myTable" style="width:100;">
...
</table>

а потом при помощи JavaScript делай с ними что хочешь. К примеру:
Код:

<script>
function WidthMyTable(){
    myObj = document.getElementById( 'myTable' );
    myWidth = myObj.width;
    alert( myWidth );
}
</script>

теперь при на жатии на кнопку ( смотри код дальше ) будет выводится сообщение в котором будет указана ширина таблицы
Кнопка:
Код:

<input type="button" value="Узнать ширину таблицы" onClick="javascript: WidthMyTable()">
Я думаю идея понятна. Таким способом можно не только выводить какие-то данные но и изменять их, и назначать, и удалять. А получить можно все что только есть у этого объекта.
Что есть у какого объекта можно посмотреть здесь.

Кстати, не забывай что ID должен быть уникальным!!!

P@$l-l0l-( 11.08.2004 15:38

А если я не напишу style="width:100", то по-моему работать не будет. Разве IE динамически может определять ширину, он может знать только установленную.

zeboton 11.08.2004 16:17

А тебе обязательно выпендриваться и писать через style?

P@$l-l0l-( 11.08.2004 22:48

Код:

<html>
<body>

<table ID="myTable">
<tr>
<td>
    1234567890
</td>
</tr>
</table>

<script language="JavaScript">
function WidthMyTable()
{
    myObj = document.getElementById( 'myTable' );
    myWidth = myObj.width;
    alert( myWidth );
}
</script>

<input type="button" value="Узнать ширину таблицы" onClick="javascript:WidthMyTable()">

</body>
</html>

Я тебя вот про что спрашивал: можно ли не задавая атрибута узнать его потом. Если поймёшь, почему этот фрагмент не работает, то поймёшь мой вопрос.

zeboton 12.08.2004 01:29

Да я то вопрос сразу понял. Можно, но ОЧЕНЬ гемарно. Мне сейчас в большой лом писать. Надо анализировать содержимое ячеек. Проще задать самому. По крайней мере у меня еще не было случаев, кода я не мог бы этого сделать. На крайняк сделал бы паблицу в таблице. Наружняя имеет установленную ширину и при необходимости меняется, тем самым меняя ширину внутренней. Но не факт что сработает!

P@$l-l0l-( 12.08.2004 02:08

Мда... Похоже мне придётся пойти на изврат... Спасибо за помощь! :)

zeboton 12.08.2004 12:39

Да разве я помог?
Ты прав, раз нельзя сделать стандартными и легкими средствами, то всегда приходится делать все через... э-э-э... но при этом все работает :D

deathstorm 12.08.2004 17:04

2 zeboton
 
2 zeboton

слушай, ты меня сейчас совершенно убил своей бредятиной

Пацан реальный вопрос задал (ОтВет- в твоем примере узнать параметры невозможно)

как ты можешь ПРОАНАЛИЗИРОАТЬ содержимое ячейки
если у нее НИХРЕНА на аттрибутировано,даже размер шрифта

если я неправ, то будь добр, напиши примерчик (на примере вышеизложенном, можешь свой пример кинуть со вложенными таблицами без указания аттрибутов)

пусть конечно ОЧЕНЬ гемарно и тебе в большой лом писать но уж постарайся удиви старика

zeboton 12.08.2004 17:38

deathstorm, дедуль, а я знаю что он в ячейку пихать будет? Может картинку у которой задаст размеры, а может input, у которого тоже бужет атрибуты. Я это имел ввиду! Может он не может задать ширину таблицы, но может задать ширину элементов вложенных в нее. А потом с учетом всех элементов вложенных в ячейки, а также cellspacing'a, cellpadding'a и bordera может прикинуть ее ширину! Задачи разные бывают!!! Логично?


Часовой пояс GMT +4, время: 12:49.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.