Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передача переменной - в значение ширины таблицы 
V
    Опции темы
Teleport
Дата 12.11.2008, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: нет
Всего: 6



В данном коде я предполагаю сделать - в зависимости от разрешения экрана назначать разную ширину таблицы и напечатать значение ширины в таблице.
Код

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
</head>

<body>

<script LANGUAGE="javascript">
var height=0;
var width=0;
var tab_w=100;

if (self.screen) // for NN4 and IE4
{
width = screen.width
height = screen.height
}
else if (self.java) // for NN3 with enabled Java
{
var jkit = java.awt.Toolkit.getDefaultToolkit();
var scrsize = jkit.getScreenSize();
width = scrsize.width;
height = scrsize.height;
}

if (width == 800 && height == 600)
{ tab_w= 600  }
else if (width == 1024 && height == 768)
{ tab_w= 800  }
else if (width == 1280 && height == 1024)
{ tab_w= 1000  }
else
{ location.href = "unknown.html" }
</SCRIPT> 

<table width= "?????" border="1"> <!-- как тут указать ширину-то? -->
  <tr>
    <td>
    <p>
    <script language="javascript">
    ?????
     <!-- как тут напечатать ширину? -->
    </script>
    </p>
    </td>
  </tr>
</table>


</body>
</html>



так вот как подправить? чтобы вышло то, что я хочу smile

Это сообщение отредактировал(а) Teleport - 12.11.2008, 19:36


--------------------
user posted image
user posted image 
PM MAIL   Вверх
destrd
Дата 12.11.2008, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 1.10.2008

Репутация: нет
Всего: 4



Код

<input type="text" name="your_name" id="your_name_input" />

<script type="text/javascript">
  var name_input = document.getElementById('your_name_input')
  name_input.value="Medved"
</script>

Вот так же и работайте со своей таблицей через DOM
--------------------
Some people, when confronted with a problem, think, "I known, I'll use regular expressions." Now they have two problems.        -- Jamie Zawinski in comp.lang.emacs
PM MAIL ICQ   Вверх
Teleport
Дата 12.11.2008, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: нет
Всего: 6



2 destrd - мне нужен пример в моем коде по моему вопросу. С твоим примером я не разберусь.


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Wheels
Дата 12.11.2008, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 1.2.2007

Репутация: 1
Всего: 1



мб так?
xxx - id Вашей таблицы. (<table id=xxx>) Ширину тут указывать не надо.


Код

<script>
// Тут определяете нужную длину таблицы и записываете в переменную tabwidth
var tbl = document.getElementById('xxx');
tbl.style.width = tabwidth;

var divtblw = document.getElementById('tblw');
divtblw.innerHTML = tabwidth;
</script>


А там, где нужно вставить значение вставьте див (<div id=tblw></div>)

Сразу предупреждаю - я в js дилетант! =) 

Это сообщение отредактировал(а) Wheels - 12.11.2008, 23:43
PM MAIL ICQ   Вверх
Wheels
Дата 13.11.2008, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 1.2.2007

Репутация: 1
Всего: 1



destrd, таких как ты терпеть не могу.


Teleport, Подправьте под свои нужды.
Код

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
</head>
<body onLoad=mytable();>
<script LANGUAGE="javascript">
function mytable()
{
    var tab_w = screen.width;
    var tbl = document.getElementById('oioi');
    tbl.style.width = tab_w;
    var divtblw = document.getElementById('tblw');
    divtblw.innerHTML = tab_w;
}
window.onload = function()
{
    mytable();
}
</SCRIPT>
<table id="oioi" border="1">
  <tr>
    <td>
    <p>
<div id="tblw"></div>
    </p>
    </td>
  </tr>
</table>
</body>
</html>


а еще показать разрешение можно так:
Код

<script language="JavaScript"> document.write(screen.width)</script>

P.S. могут быть ошибки.
PM MAIL ICQ   Вверх
Michael.de
Дата 13.11.2008, 03:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 22.3.2005
Где: Deutschland

Репутация: 4
Всего: 9



Teleport, напишу несколько замечаний. 100% гарантии, что всё правильно не даю. Если ошибся, другие поправят:
1. вместо <script LANGUAGE="javascript"> лучше писать <script type='text/javascript'>
2. <script type='text/javascript'> ... </script> я всегда задаю в HEAD - раньше загрузится.
3. не надо вставлять <script type='text/javascript'> ... </script> посреди HTML - для этого есть id и getElementById() {или getElementsByTagName() или getElementsByName() }
4. По твоим вопросам:
B строках 37 и 40 задаёшь таблице и <p>  id: <table id='tb' border="1"> и <p id='p1'>, создаёшь ф-цию (напр.) init() и переписываешь боди на <body onload='init();'>, в ф-ции пишешь:
Код

function init(){
 // инициируется при загрузке, патамушта анлоад :))
 tbl = document.getElementById('tb');
 p = document.getElementById('p1');
 // далее выясняем ширину экрана и задаём таблице например 70% от неё:
 tbl.style.width = shirina * 0.7 + 'px';
 // а так пишем в <p>:
 p.innerHTML = shirina;
}
P.S. пишу не в едиторе - могут быть ашипки smile
PM MAIL   Вверх
Teleport
Дата 13.11.2008, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: нет
Всего: 6



Wheels, Michael.de - Люди, спасибо огромное! А  то я парился бы долго еще)))))))
на основании ваших советов - я вот что написал, но есть вопросы.
Код

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
<script LANGUAGE="javascript">
function init()
{
var height=0;
var width=0;

if (self.screen) // for NN4 and IE4
{
width = screen.width
height = screen.height
}
else if (self.java) // for NN3 with enabled Java
{
var jkit = java.awt.Toolkit.getDefaultToolkit();
var scrsize = jkit.getScreenSize();
width = scrsize.width;
height = scrsize.height;
}
 // инициируется при загрузке, патамушта анлоад :))
 tabl = document.getElementById('tab1');
 p = document.getElementById('p1');
 // далее выясняем ширину экрана и задаём таблице ширину

 if (width == 800 && height == 600)
{ tab1.style.width= 600}
else if (width == 1024 && height == 768)
{ tab1.style.width= 800}
else if (width == 1280 && height == 1024)
{ tab1.style.width= 1000 + 'px';
   tab1.style.height= 1000 + 'px';}//тут еще и высоту задал
 // а так пишем в <p>:
 p.innerHTML = tab1.style.width;
}
</SCRIPT> 
</head>

<body OnLoad="init();" OnResize="init();" OnReload="init();">

<table id="tab1"  border="1" >
  <tr>
    <td>
    <p id= "p1">
    </p>
    </td>
  </tr>
</table>

</body>
</html>


1)работает в Опере, IE7, а вот в FireFox - ничего не работает!! Как быть? для этого броузера?
2) и почему это вместо <script LANGUAGE="javascript"> лучше писать <script type='text/javascript'>

Это сообщение отредактировал(а) Teleport - 13.11.2008, 23:45


--------------------
user posted image
user posted image 
PM MAIL   Вверх
destrd
Дата 14.11.2008, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 1.10.2008

Репутация: нет
Всего: 4



Цитата(Wheels @  13.11.2008,  01:00 Найти цитируемый пост)
destrd, таких как ты терпеть не могу.

Спасибоsmile. Велика ли разница между тем, что я написал и выsmile Как работали через DOM так ничего и не изменилось. Мне просто было лень писать подробный код. Кто-то более подробно пишет, кто-то просто на мысль наводит.
Цитата(Teleport @  14.11.2008,  00:41 Найти цитируемый пост)
2) и почему это вместо <script LANGUAGE="javascript"> лучше писать <script type='text/javascript'>

Насколько я помню, w3c валидато требует (хотелось бы видеть) писать type. А вот по поводу language не помню.
--------------------
Some people, when confronted with a problem, think, "I known, I'll use regular expressions." Now they have two problems.        -- Jamie Zawinski in comp.lang.emacs
PM MAIL ICQ   Вверх
Teleport
Дата 14.11.2008, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: нет
Всего: 6



2 destrd - спасибо за ответ на вопрос. ;)
Люди, а что делать с отображением в FireFox моего последнего кода ?? ))))))) Подскажите пожалуйста, а то мне не понятно)))))))))

Это сообщение отредактировал(а) Teleport - 14.11.2008, 01:39


--------------------
user posted image
user posted image 
PM MAIL   Вверх
destrd
Дата 14.11.2008, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 1.10.2008

Репутация: нет
Всего: 4



Цитата(Teleport @  14.11.2008,  02:37 Найти цитируемый пост)
Люди, а что делать с отображением в FireFox моего последнего кода ??

А он пишет, контора пишетsmile
Warning: Element referenced by ID/NAME in the global scope. Use W3C standard document.getElementById() instead.



--------------------
Some people, when confronted with a problem, think, "I known, I'll use regular expressions." Now they have two problems.        -- Jamie Zawinski in comp.lang.emacs
PM MAIL ICQ   Вверх
Teleport
Дата 14.11.2008, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: нет
Всего: 6



2 destrd - нну а делать-то с этим что? smile я и использую document.getElementById()...
подробнее нужно мне...


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Michael.de
Дата 14.11.2008, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 22.3.2005
Где: Deutschland

Репутация: 4
Всего: 9



Teleport:
1. OnReload() - неизвестная науке ф-ция (и они все пишутся в нижнем регистре).
2. "NN4 and IE4", "NN3 with enabled Java" - какие-то старые браузеры.
3. добавил несколько ";", исправил регистр и ещё по мелочам:
Код

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Super program ;)</title>
<script type='text/javascript'>
var tabl, p, height=width=0;
function init(){
 if (self.screen){// for NN4 and IE4
  width=screen.width;
  height=screen.height;
 }
 else if (self.java){// for NN3 with enabled Java
  var jkit=java.awt.Toolkit.getDefaultToolkit();
  var scrsize=jkit.getScreenSize();
  width=scrsize.width;
  height=scrsize.height;
 }
 tabl=document.getElementById('tab1');
 p=document.getElementById('p1');
 // далее выясняем ширину экрана и задаём таблице ширину:
 var e='px';// e - extention
 if (width == 800 && height == 600) tab1.style.width= 600+e;
 else if (width == 1024 && height == 768) tab1.style.width= 800+e;
 else if (width == 1280 && height == 1024){//тут еще и высоту задал
  tab1.style.width=1000+e;
  tab1.style.height=1000+e;
 }
 // хмм... а что же делать, если разрешение монитора другое? (у меня 1440*900)
 else {// в качестве примера:
  tab1.style.width=width/2+e;
  tab1.style.height=height/2+e;
 }
 p.innerHTML=tab1.style.width;// пишем содержимое в <p>
}

function resize(){
 // а работает ли ресайз?
 alert('Resize?\nYes... but twice in IE6 :/');
 // тут нужно высчитывать не разреш. монитора, а актуальные размеры окна
 // (я не помню как) и если нужно, менять размеры таблицы и содержимое <p>
}
</script> 
</head>
<body onload='init();' onresize='resize();'>
<table id='tab1' border='1'>
<tr><td><p id='p1'></p></td></tr>
</table>
</body>
</html>
Проверял в IE6, FF3 и последней Опере.
PM MAIL   Вверх
Teleport
Дата 14.11.2008, 02:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 5.7.2008
Где: Прибалтика

Репутация: нет
Всего: 6



2 Michael.de а вот не фига  smile , у меня версия FF - 2.0.0.14 - и ничего не пашет в нем - ни мой пример, ни твой... smile  

ой я не внимательный, а.... tabl и tab1 перепутал в 18 строкеsmile)))))))))))))))))))))))))) Все работает!!
Нну FF и придирчивый блин! IE и Opera все съели и слова не сказали, а FF - не фига...))))))) шутка, конечно smile

Цитата

2. "NN4 and IE4", "NN3 with enabled Java" - какие-то старые браузеры.


Это я просто из старого примера брал smile забыл удалить, тогда более новых броузеров наверное не было smile
Насчет регистра и Reloada - спасибо, не знал smile

И насчет более широкого разрешения - спасибо за подсказку. Я это уже предусмотрел. )))))




Это сообщение отредактировал(а) Teleport - 14.11.2008, 02:52


--------------------
user posted image
user posted image 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1234 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.