Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: js: document.write
 
 автор: Хулиган   (08.07.2006 в 00:06)   письмо автору
 
 

Вставляю в страницу n рисунков. Количество рисунков заранее неизвестно. Пробую так:

var n=15;
for (var i=0; i<n; i++){
document.write ("<img src='pic.jpg'>");
}

Но эта штука не работает в мозиле. Где-то нашёл утверждение, что document.write в мозиле не работает вообще. Насколько это правда, и что можно тут придумать?

   
 
 автор: CrazyAngel   (08.07.2006 в 00:25)   письмо автору
 
   для: Хулиган   (08.07.2006 в 00:06)
 

Я недавно стал изучать javascript! по я уверен что это вранье =)))

Яб тут DOM использовал =)

   
 
 автор: RMW   (08.07.2006 в 00:36)   письмо автору
 
   для: Хулиган   (08.07.2006 в 00:06)
 

Попробуйте так:
var n=15;
for (var i=0; i<n; i++){
document.write ("<img src='pic.jpg'>");
}
document.close();

   
 
 автор: Хулиган   (08.07.2006 в 02:07)   письмо автору
 
   для: RMW   (08.07.2006 в 00:36)
 

Да, это что-то я накосячил :) Сейчас ещё раз сделал - работает.
Хотя в поиске яндекса по document.write mozilla точно было, что есть такой баг - не пишет в документ.

Тогда у меня ещё вопрос в эту тему:
<table width="100%" border="0" cellspacing="1" cellpadding="0">
 <tr>
  <td>
<script>
   var n
   if (isMozilla) n = (innerHeight-document.height-32);
   else           n = document.body.clientHeight - document.body.scrollHeight - 32;
   for (var i=0; i<n; i++){
      document.write ("<img src='img/point.gif'><br>");
   }
   document.close();
</script>
  </td>
 </tr>
</table>

<table width="100%" height=32>
   <tr valign="bottom" >
      <td>
        ......
      </td>
   </tr>
</table>


Этот код выталкивает нижнюю табличку высотой 32 пикселя в самый низ экрана. Для этого в таблицу-"распорку" вбивается необходимое количество однопиксельных картинок.
А как быть, если допустим окно было не на весь экран, а затем юзер его развернул на весь экран?
Моя табличка уже не внизу, а где-то в середине болтается.
Допустим, я могу по window.onresizeend отследить изменение. А как мне заменить содержимое "распорки", чтобы она стала больше, и восстановила положение нижней таблички в самом низу экрана?

   
 
 автор: RMW   (08.07.2006 в 21:30)   письмо автору
 
   для: Хулиган   (08.07.2006 в 02:07)
 

Может вам по-другому сделать?
Использовать один рисунок и изменять
его высоту.
Приблизительный пример:

<html>
<head>

<script>
window.onload=window.onresize=function()
{
  var h=document.getElementById('MainTable').offsetHeight;
  var n = document.body.clientHeight - h - 32;
  document.getElementById('MyImage').style.height=n+'px';
}
</script>

</head>
<body>

<table width="100%" bgcolor="red" id="MainTable">
<tr>
  <td>
    Таблица для контента
  </td>
</tr>
</table>

<table width="100%" bgcolor="green"> 
<tr> 
  <td>
    <!Рисунок распорка> 
    <img src="img/point.gif" id="MyImage" height="1px" width="1px">
  </td> 
</tr> 
</table> 

<table width="100%" height="32" bgcolor="blue"> 
<tr> 
  <td> 
    Фиксированная нижняя таблица 
  </td> 
</tr> 
</table>

</body>
</html>

   
 
 автор: Хулиган   (08.07.2006 в 23:03)   письмо автору
 
   для: RMW   (08.07.2006 в 21:30)
 

Да, наверное так проще, одной строкой, чем в цикле.
Спасибо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования