Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Значение в два с капелькой раза больше (https://javascript.ru/forum/jquery/68083-znachenie-v-dva-s-kapelkojj-raza-bolshe.html)

lempzz 25.03.2017 03:15

Значение в два с капелькой раза больше
 
есть элемент .col-carousel
почему
$('.col-carousel').css('top')

возвращает 47px, а
var pos = $('.col-carousel').css('top')

возвращает 111?:help:

рони 25.03.2017 03:25

lempzz,

lempzz 25.03.2017 03:49

рони, пожалуйста, вот ссылка, чекайте через консоль.

рони 25.03.2017 04:05

lempzz,
что проверять?

lempzz 25.03.2017 04:07

рони,
в консоли
$('.col-carousel').css('top')

и просто
pos

который в скрипте написан как
var pos = $('.col-carousel').css('top');

рони 25.03.2017 04:13

lempzz,
а ready или load не пробовали?

рони 25.03.2017 04:17

lempzz,
на странице ещё размеры не сформировались а вы уже их измеряите.

рони 25.03.2017 04:20

lempzz,
var pos;
$(window).on("load", function() {
     pos  = $('.col-carousel').css('top');// или целиком весь код сюда,  если глобал не нужен
})

lempzz 25.03.2017 04:35

Через функцию .on() всё сработало. Большое Вам спасибо.
Получается, что есть объявить пустую глобальную переменную и через функцию присвоить ей значение, то оно сохранится глобально, я правильно понял?

Цитата:

на странице ещё размеры не сформировались а вы уже их измеряите.
И подскажите, почему так случилось? То есть почему размер не сформирован, а его позиция уже 111px. И с высотой тоже самое было. Высота по факту 300рх, а возвращало 71рх. Важно понять почему так происходит.

рони 25.03.2017 07:42

lempzz,
потому что не всё имеет размер, например картинки не прогрузились.


Часовой пояс GMT +3, время: 10:25.