Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.03.2011, 07:00
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Видимость по-загрузке
Загружаю страницу с малой скоростью и вижу, как таблицы загружаются медленно и с искажениями.
Решил спрятать все таблицы и отображать их только по-полной загрузке. Например:
<html><head><title>Smart Visibility</title></head>
<body>
<table style='visibility: hidden' onload='this.style.visibility="visible"'>
<tr><td>TEST</td><td>PROBE</td></tr>
</table></body>
Но здесь OnLoad-событие просто не срабатывает (проверял alert'ом). Переделал:
<html><head><title>Smart Visibility</title></head>
<table id='tbl' style='visibility: hidden'>
<tr><td>TEST</td><td>PROBE</td></tr>
<script>
document.getElementById("tbl").style.visibility="visible";
</script>
</table></body>
Сработ ло. Но пришлось добавить в тело таблицы идентификатор и целый скрипт! Как быть тогда?
Пользоваться getElementsByTagName("table")[getElementsByTagName("table").length - 1] слишком расходно!
Ответить с цитированием
  #2 (permalink)  
Старый 13.03.2011, 07:22
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

Вешайте onload на BODY.
Ответить с цитированием
  #3 (permalink)  
Старый 13.03.2011, 23:20
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Гы-ыыы...
В body - легко. Однако, когда страницы большие, это не практично.
С моей скоростью, например, раздражает, когда в сети выгуглишь форум например, а он грузится минуту-две, а тем временем на экране пусто, лишь килобайты бегут...
Ответить с цитированием
  #4 (permalink)  
Старый 13.03.2011, 23:27
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

Используйте если возможно:
table-layout:fixed;

Не будут искажаться.
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 14.03.2011, 01:06
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Тут дело посложнее...
Нужно вообще предотвратить какие-либо искажения. Иначе в таблице, скажем, когда сервер задремал, последние 2-3 элемента не загрузились, хотя таблица не искажена. Просто выглядит не полной.
Понимаю, это дело привычное, везде и всюду в сети такое.
Но на дворе XXI век вторая декада. Вот я и пробую использовать простые, но более эстетичные приёмы.
Надоели, понимаешь, картинки, отображаемые на 90-95% буквально! Без каких-то жалких пар графических строк. И т.д. и т.п.
Вот и с таблицами это заметил, и с формами, и т.д.
Ответить с цитированием
  #6 (permalink)  
Старый 14.03.2011, 01:21
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

Ужс. Прова поменять никак, да?
Я уж лет 5 как с подобным не сталкивался....

Первый предложенный вами вариант самый лаконичный и правильный в данном случае.
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 14.03.2011, 01:53
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Ага. Я его подправил
<html><head><title>Smart Visibility</title></head>
<table style='visibility: hidden'>
<tr><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td></tr>
<tr><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td></tr>
<tr><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td></tr>
<tr><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td></tr>
<script>
window.status += "#" + (document.getElementsByTagName("table").length - 1) + " ";
document.getElementsByTagName("table")[document.getElementsByTagName("table").length - 1].style.visibility="visible";
</script>
</table>
<table style='visibility: hidden'>
<tr><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td></tr>
<tr><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td></tr>
<tr><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td></tr>
<tr><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td></tr>
<script>
window.status += "#" + (document.getElementsByTagName("table").length - 1) + " ";
document.getElementsByTagName("table")[document.getElementsByTagName("table").length - 1].style.visibility="visible";
</script>
</table>
<table style='visibility: hidden'>
<tr><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td></tr>
<tr><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td></tr>
<tr><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td></tr>
<tr><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td><td>TEST</td><td>PROBE</td></tr>
<script>
window.status += "#" + (document.getElementsByTagName("table").length - 1) + " ";
document.getElementsByTagName("table")[document.getElementsByTagName("table").length - 1].style.visibility="visible";
</script>
</table>
</body>
Вродь пашет и без указания Id...
Ответить с цитированием
  #8 (permalink)  
Старый 14.03.2011, 02:54
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от Paguo-86PK
на дворе XXI век
А вы не знаете о ненавязчивом яваскрипте и переменных
Ответить с цитированием
  #9 (permalink)  
Старый 14.03.2011, 16:03
Интересующийся
Отправить личное сообщение для yupee Посмотреть профиль Найти все сообщения от yupee
 
Регистрация: 27.01.2011
Сообщений: 21

Сообщение от FINoM
А вы не знаете о ненавязчивом яваскрипте и переменных
А как можно в отдельном файле объяснить коду когда надо сработать, если документ еще не загрузился?
событие load подойдет,если файл перед body загрузить?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подгрузка функции при загрузке страницы BorisBritva Элементы интерфейса 4 13.05.2010 21:59
Автоматический рефреш при загрузке странице Andrew_tl Events/DOM/Window 1 26.02.2010 18:02
jQuery UI datepicker -- не биндится при загрузке mkrylov jQuery 4 20.05.2009 20:36
Объект при загрузке страницы и после операций над ним fact jQuery 7 20.04.2009 22:02
Видимость переменных HelpeR Общие вопросы Javascript 6 21.02.2009 21:29