Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Ковыряюсь в .show(), хочу понять как она раздвигает элемент не зная его размера... (https://javascript.ru/forum/jquery/11176-kovyryayus-v-show-khochu-ponyat-kak-ona-razdvigaet-ehlement-ne-znaya-ego-razmera.html)

sysya 11.08.2010 19:04

Ковыряюсь в .show(), хочу понять как она раздвигает элемент не зная его размера...
 
Ковыряюсь в .show(), хочу понять как она раздвигает элемент не зная его размера изначально. Пока наткнулся на проблему, неуверен правильно ли я понимаю что происходит...

Есть такая функция, внутри метода show используется
function genFx( type, num ) {
	var obj = {};

	jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() {
		obj[ this ] = type;
	});

	return obj;
}
Не могу разобраться правильно ли я понимаю эту строчку: fxAttrs.concat.apply([], fxAttrs.slice(0,num))
apply возвращает массив, concat добавляет его к fxAttrs... Правильно я считаю?

Вобщем главный вопрос этой темы, как .show() раздвигает элемент не зная его размера? Получилось два вопроса :)

Если что, то отправьте меня туда где я смогу узнать об этом деле...

Octane 11.08.2010 19:39

Наверное, помещает элемент в абсолютно позиционированный контейнер, который находится за границами страницы, замеряет размер, потом возвращает на место.

sysya 11.08.2010 20:17

В коде не могу найти где замеряется размер какого то элемента. Смотрю jquery-1.4.2.regular.js

вот такая строчка есть
return this.animate( genFx("show", 3), speed, callback);
genFx надо разобрать по винтикам и может станет понятно...

sysya 21.08.2010 11:27

Вобщем правильно я думал, apply возвращает массив, concat добавляет его к fxAttrs...
Но так и не могу понять как происходит раздвигание элемента. Натолкните меня на мысль или адресок подкиньте где искать...


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