Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Разные занчения положения элемента на странице в зависимости от варианта обновления страницы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Albertino
Отправлено: 09 Июля, 2012 - 17:53:07
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Проблема заключается в следующем:
Есть функция подсчета положения элемента(div) относительно родителя(table), которая вызывается в документ реди
CODE (javascript):
скопировать код в буфер обмена
  1. var pos_blog = $("#blog_pos")[0].offsetTop;
  2.         var pos_news = $("#news_pos")[0].offsetTop;
  3.  
  4.         if(pos_blog>pos_news){
  5.                 var razn = pos_blog - pos_news;
  6.                 id_o = "news_pos";
  7.         }
  8.         else{
  9.                 var razn = pos_news - pos_blog;
  10.                 id_o = "blog_pos";
  11.         }
  12.         $("#"+id_o).css("margin-top", razn+"px");
  13.  
  14.         console.log("pos_blog: "+pos_blog);
  15.         console.log("pos_news: "+pos_news);

(так же были рассмотрены варианты этой функции на чистом js, только на jQuery и смешанный вариант, так же подсчет шел разными способами)
И вот при обычном обновлении страницы(F5) считает одно(в моем случае получаю 108), а при обновлении страницы с очисткой кеша (Ctrl+F5) или при первом заходе на страницу(если стоит очистка кеша после закрытия браузера) получаю другое число - 122, те теряется куда-то 14 px.
В чем вообще может быть проблема, почему по разному считает положение элемента
 
 Top
armancho7777777 Супермодератор
Отправлено: 09 Июля, 2012 - 19:25:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Что Вы хотите реализовать?

(Отредактировано автором: 09 Июля, 2012 - 19:27:27)

 
 Top
IllusionMH
Отправлено: 09 Июля, 2012 - 19:49:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Albertino, jQuery.ready происходит раньше, чем onload.
Т.е. до того момента когда загрузятся все изображения. Когда обновляется страница - изображения не нуждаются в загрузке и отображаются мгновенно. Отсюда и разные показания.

Выход: либо использовать window.onload, либо объясните зачем, а там еще подумаем.

(Отредактировано автором: 09 Июля, 2012 - 19:55:04)

 
 Top
tuareg
Отправлено: 09 Июля, 2012 - 22:36:32
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




IllusionMH пишет:
Albertino, jQuery.ready происходит раньше, чем onload.
Т.е. до того момента когда загрузятся все изображения. Когда обновляется страница - изображения не нуждаются в загрузке и отображаются мгновенно. Отсюда и разные показания.

Выход: либо использовать window.onload, либо объясните зачем, а там еще подумаем.

Можно не думать Улыбка , а просто использовать
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(window).load(function () {
  3.   // манипуляции с готовой страницей
  4. });
  5.  
 
 Top
Albertino
Отправлено: 10 Июля, 2012 - 09:40:02
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




tuareg пишет:
Можно не думать Улыбка , а просто использовать

Спасибо за подсказку, только вот теперь видно как элементы меняют свою позицию (Все это задумывалось, чтобы выровнять два элемента на странице), но с этим уже ничего не поделаешь.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB