Получить высоту ячейки таблицы

Discussion in 'PHP' started by inlanger, 7 Aug 2007.

  1. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Как получить высоту ячейки таблицы при помощи javascript? При записи
    a = table.tr.height
    alert(a)
    ошибку не выдаёт, а выдаёт пустое окно алерта. Что я не так делаю?
     
  2. inv

    inv Banned

    Joined:
    3 Aug 2007
    Messages:
    261
    Likes Received:
    143
    Reputations:
    -58
    getElementById + clientHeight
    childNode + clientHeight
    table-tbody
    -tr
    -td
    возможно придется учесть еще толщину рамки
     
  3. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    это javascript или css ???
    Не въеду в синтаксис...я немного не профи.
     
  4. inv

    inv Banned

    Joined:
    3 Aug 2007
    Messages:
    261
    Likes Received:
    143
    Reputations:
    -58
    Это яваскрипт

    clientTop
    clientHeight

    http://www.webmaster.ee/javascript/js.html
     
    2 people like this.
  5. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Спасибо. Плюсег дал, юзаю подсказку
     
  6. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    var a = document.getElementsById(bott).clientHeight
    alert(a)

    что тут неправильно??
     
  7. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    var a = document.getElementById("td1").clientHeight
    alert(a)

    хм...странно...поставил так и всё заработало.
     
    #7 inlanger, 7 Aug 2007
    Last edited: 7 Aug 2007
  8. inv

    inv Banned

    Joined:
    3 Aug 2007
    Messages:
    261
    Likes Received:
    143
    Reputations:
    -58
    если

    bott была не переменной а строкой то ты забыл поставить кавычки
    И не забудь что еще есть рамка,если она играет конечно роль ...
     
  9. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    блин, ошибки - то перестало выдавать, но тупо на скрипт страница не раегирует:
    HTML:
    <script name="javascript">
    var a = document.getElementById("td1").clientHeight;
    var b = a%50;
    while (b!=0) 
    {
    a = a+1;
    b = a%50;
    }
    document.getElementById("td1").Height = a;
    </script>
    Смысл скрипта в том, чтобы высота строки таблицы была кратна 50 пикселям. Это из-за того, что фоновый рисунок нормально смотриться только в таком случае. ПАМАГИТЕ!
     
    #9 inlanger, 7 Aug 2007
    Last edited: 7 Aug 2007
  10. inv

    inv Banned

    Joined:
    3 Aug 2007
    Messages:
    261
    Likes Received:
    143
    Reputations:
    -58
    PHP:
    var $h document.getElementById("td1").clientHeight ;
    document.getElementById("td1").clientHeight Math.ceil($h/50)*50;
    Добавлено:
    неправильно!)
     
    #10 inv, 7 Aug 2007
    Last edited: 7 Aug 2007
  11. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    HTML:
     var $h = document.getElementById("td1").clientHeight ;
    document.getElementById("td1").clientHeight = Math.ceil($h/50)*50; 
    - команда не поддерживается объектом
     
  12. inv

    inv Banned

    Joined:
    3 Aug 2007
    Messages:
    261
    Likes Received:
    143
    Reputations:
    -58
    onlyforread maybe

    PHP:
    <style>
    #td1
    {
    border:1px #000000 solid;
    display:block;
    width:100px;
    height:10px;
    }
    </
    style>
    <
    table><tr><td id='td1'>
    </
    td></tr></table>
    <
    script>
    var 
    $h document.getElementById("td1").clientHeight ;//в опере было 12 так как учитывалась рамка внизу и вверху
    document.getElementById("td1").style.height Math.ceil($h/50)*50
    </script>
     
  13. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    http://alvisid.110mb.com/index2.htm
    так же само криво отображается...
     
  14. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    смотрел и фаерфоксом и интырнэт эксплорыром
     
  15. inv

    inv Banned

    Joined:
    3 Aug 2007
    Messages:
    261
    Likes Received:
    143
    Reputations:
    -58
    PHP:
    <script name="javascript">
    function 
    OnLoadTd()
    {
           var 
    document.getElementById("td1");
           var 
    $h a.clientHeight ;
           
    a.style.height Math.ceil($h/50)*50;
           
    document.title document.title+='..height : '+a.style.height;
    }
    window.onload OnLoadTd;
    </script>
    Если сделать после загрузки страницы-то работает в 3 броузерах.
     
  16. Raz0r

    Raz0r Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    126
    Likes Received:
    20
    Reputations:
    0
    Главное, чтобы высота была задана в style="", или в CSS, тогда будет работать =)
    Code:
    e = document.getElementById( 'element_name' ).style.height;
    alert(e);
    
     
    #16 Raz0r, 8 Aug 2007
    Last edited: 8 Aug 2007
  17. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Спасибо за советы. Буду дома - буду пробовать. Получится - дам в репу ;)
     
Loading...