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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: JS. DOM. Таблицы.

Сообщения:  [1-10]    [11-20]  [21-21] 

 
 автор: confirm   (17.05.2012 в 13:53)   письмо автору
 
   для: MHz   (17.05.2012 в 13:48)
 

Потому, что по дате сравнение, но не той, что в таблице, а той, что в массиве - по нулевому элементу первого элемента его (сравнение влево - 2005), и по нулевому элементу пятого элемента (сравнение вправо - 2011).

  Ответить  
 
 автор: MHz   (17.05.2012 в 13:48)   письмо автору
 
   для: confirm   (17.05.2012 в 13:46)
 

Аа.. Вон оно что) А я таблицу просто заполнил и не мог понять почему кнопка назад не работает) Спасибо еще раз!)

  Ответить  
 
 автор: confirm   (17.05.2012 в 13:46)   письмо автору
 
   для: MHz   (17.05.2012 в 13:42)
 

Массив начните с этих годов. Я же написал - массив сдвигается, а значит... )
var Data = [[2007, '6,2%'],[2008, '7,5%'], 
            [2009, '9,7% руб.<br>7,2% вал.'], 
            [2010, '9,73% руб.<br>7,21% вал.'], 
            [2011, '7,65% руб.<br>5,1% вал'],
            [2005, '6,85%'],[2006, '6,0%']];

Ну и таблица с этого года должна быть заполнена по умолчанию.

  Ответить  
 
 автор: MHz   (17.05.2012 в 13:42)   письмо автору
 
   для: confirm   (17.05.2012 в 13:30)
 

Данные такие. Все как надо. Вот споткнулся уже на первой правке) как сделать чтобы изначально выводились года с 2007 - 2011?

  Ответить  
 
 автор: confirm   (17.05.2012 в 13:30)   письмо автору
 
   для: MHz   (17.05.2012 в 13:20)
 

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

  Ответить  
 
 автор: MHz   (17.05.2012 в 13:20)   письмо автору
 
   для: confirm   (17.05.2012 в 13:15)
 

Ух! Большое Вам спасибо!)) Очень Вам обязан!)) дальше надеюсь разберусь

  Ответить  
 
 автор: confirm   (17.05.2012 в 13:15)   письмо автору
 
   для: MHz   (17.05.2012 в 12:42)
 

В общем, если фиксировано 7 колонок, две строки, и отображать по пять колонок, то:
var Data = [[2005, '6,85%'],[2006, '6,0%'], 
            [2007, '6,2%'],[2008, '7,5%'], 
            [2009, '9,7% руб.<br>7,2% вал.'], 
            [2010, '9,73% руб.<br>7,21% вал.'], 
            [2011, '7,65% руб.<br>5,1% вал']]; 

function shiftCol(dir) {
   if(!dir && Data[0][0] > 2005) {
      Data.unshift(Data.pop());
      cellsTable();
   }
   if(dir && Data[4][0] < 2011) {
      Data.push(Data.shift());
      cellsTable();
   }
   function cellsTable() {
      var tbl = document.getElementById("tbl");
      for(var i=0; i<5; i++) {
        tbl.rows[0].cells[i].innerHTML = Data[i][0];
        tbl.rows[1].cells[i].innerHTML = Data[i][1];
      }
   }
}
<table id="tbl">
  <tr> 
    <th>2005</th> 
    <th>2006</th> 
    <th>2007</th> 
    <th>2008</th> 
    <th>2009</th> 
  </tr> 
  <tr> 
    <td>6,85%</td> 
    <td>6,0%</td> 
    <td>6,2%</td> 
    <td>7,5%</td> 
    <td>9,7% руб.<br />7,2% вал.</td> 
  </tr> 
</table>

<input type="button" value="<<" onclick="shiftCol(0)" />
<input type="button" value=">>" onclick="shiftCol(1)" />

Проверка конечных значений для кнопок назад/вперед происходит по дате (это число и не надо его в кавычки), а так как массив сдвигается вправо/влево, и выводятся постоянно его первые пять элементов, то значит проверка по элементу 0.0 и 4.4. В общем, думаю , понятно. )

  Ответить  
 
 автор: MHz   (17.05.2012 в 12:42)   письмо автору
 
   для: confirm   (17.05.2012 в 12:38)
 

Эта форма в визуальном редакторе сделана, даже не знаю, наверное просто чтобы ширину в них задать. В общем она ни к чему. Просто скопировал как было и в таблице она не нужна

  Ответить  
 
 автор: confirm   (17.05.2012 в 12:38)   письмо автору
 
   для: MHz   (17.05.2012 в 12:35)
 

Напишу.

А для чего у вас colgroup (и, дай бог памяти, вроде бы как и не так описывается), если указывается одинаковая ширина колонок?

  Ответить  
 
 автор: MHz   (17.05.2012 в 12:35)   письмо автору
 
   для: confirm   (17.05.2012 в 12:28)
 

да та таблица что я писал и есть образец.

вот у меня такой массив получился

    var Data = array (
      array ('2005', '6,85%'),
      array ('2006', '6,0%'),
      array ('2007', '6,2%'),
      array ('2008', '7,5%'),
      array ('2009', '9,7% руб.<br>7,2% вал.'),
      array ('2010', '9,73% руб.<br>7,21% вал.'),
      array ('2011', '7,65% руб.<br>5,1% вал'),
    );

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-21] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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