Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Прототип библиотеки jNext (https://javascript.ru/forum/project/24387-prototip-biblioteki-jnext.html)

Nekromancer 30.12.2011 05:17

FINoM,
всё дело в том, что в функцию может попасть элемент из любого окна/фрейма и тогда реальный документ и объект окна нужно получать из элемента.

devote 30.12.2011 05:18

Цитата:

Сообщение от FINoM
Можно подробнее? Всё дело в возможных проблемах с айфреймом?

IFrame, Fragment, XML и т.д.

FINoM 30.12.2011 05:22

devote, пардон, напомню другой вопрос: ты предлагаешь не использовать style вообще?
Цитата:

Сообщение от Nekromancer
всё дело в том, что в функцию может попасть элемент из любого окна/фрейма и тогда реальный документ и объект окно нужно получать из элемента.

Ок, теперь понял.

devote 30.12.2011 05:27

Цитата:

Сообщение от FINoM
ты предлагаешь не использовать style вообще?

в стайле находятся не текущие стили а стартовые, это разные вещи

FINoM 30.12.2011 05:30

Цитата:

Сообщение от devote
в стайле находятся не текущие стили а стартовые, это разные вещи

Я в курсе. Ладно, забей.

Nekromancer 30.12.2011 05:36

Цитата:

Сообщение от devote
в стайле находятся не текущие стили а стартовые, это разные вещи

Чёй то они стартовые, там просто инлайн стили.

FINoM 30.12.2011 05:42

Цитата:

Сообщение от Nekromancer
Чёй то они стартовые, там просто инлайн стили.

Он хотел сказать наоборот и я его понял :D

devote 30.12.2011 05:54

ну и славо Богу, короче style полная муйня, если в теге нет атрибута style то и в style будет пусто. ну или хрень не та

FINoM 30.12.2011 08:20

Первые тесты производительности (в хроме):
$('div').parents();
jQuery работает в 3 раза медленнее.
http://jsfiddle.net/finom/4hUAv/1/

$('*').closest('.colour');
jQuery медленнее на ~15%
http://jsfiddle.net/finom/4hUAv/2/

В самых простых случаях, сравнение немного непредсказуемо:
$('*')
jQuery на треть медленнее (почему?)
$('div')
jQuery на 5—10% быстрее (почему?)

Это чисто для себя, чтоб убедиться, что дело делаю :D. В дальнейшем нужно будет сделать много много элементов (или взять какой-то уже готовый штмл) и потестить в почти реальных условиях.


В .css все-таки всунул style. Не могу быть уверен, но мне кажется геттер style быстрее работает, чем колбаса из объектов и два метода:
return first.style[prop] ||
					first.ownerDocument.defaultView.getComputedStyle( first, null ).getPropertyValue( prop );

devote 30.12.2011 15:19

Цитата:

Сообщение от FINoM
В .css все-таки всунул style. Не могу быть уверен, но мне кажется геттер style быстрее работает, чем колбаса из объектов и два метода:

неужели так сложно понять что дело не в скорости.

вот пример:

<style>
div {
    width: 200px;
    height: 200px;
}
</style>
<div>
</div>

<script>
var div = document.getElementsByTagName('div')[0];
alert([ div.style.width , div.style.height ]); // нет значений




function style( elem ) {
    if ( elem.ownerDocument && elem.ownerDocument.defaultView ) {
        return elem.ownerDocument.defaultView.getComputedStyle( elem, null );
    } else if ( elem.currentStyle ) {
        return elem.currentStyle;
    }
    return null;
}
alert([ style(div).width , style(div).height ]);
</script>


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