Здравствуйте, Temoto, Вы писали:
T>>>Собственно, в том же jQuery можно сделать $("<div class=foo><div id=bar>...") в один шаг.
vsb>>Это парсинг строки на джаваскрипте == тормоза, за такой код в библиотеке надо расстреливать. В своём джаваскрипте на здоровье, а библиотека не должна вносить тормоза на ровном месте.
T>Я думал, что такую строку jQuery отдаст браузеру через innerHTML. Если нет, то "не делайте так"
Вроде даже лучше, через createDocumentFragment. Это может быть даже быстрее если в html-е тяжелые стили. Я помню, когда тестировал то однозначного ответа не получил:
innerHTML — работает стабильнее по скорости в разных браузерах, но иногда вызывает фризы
createDocumentFragment — иногда быстрее иногда медленнее (сильно зависело от браузера, я так и не понял почему)
Здравствуйте, silverwolf, Вы писали:
S>Здравствуйте, vsb, Вы писали:
vsb>>Здравствуйте, Temoto, Вы писали:
T>>>Собственно, в том же jQuery можно сделать $("<div class=foo><div id=bar>...") в один шаг.
vsb>>Это парсинг строки на джаваскрипте == тормоза, S>Если бы все было так просто S>Суть в том, что код из оригинала топика активно работает с ДОМом, то есть может вызывать repaint/reflow/relayout/restyle. Пример Temoto, скорее всего, будет работать через DocumentFragments. И это вполне может перекрыть все "тормоза" парсинга строки, которые в современных браузерах не такие уж и тормоза. На небольших фрагментах эти "тормоза" будут не заметны, а вот вставки по элементно в ДОМ могут быть заметны даже на 5-10 элементах.
Там же новый элемент создаётся, нет там никакого reflow.
Здравствуйте, dimgel, Вы писали:
T>>>Собственно, в том же jQuery можно сделать $("<div class=foo><div id=bar>...") в один шаг.
vsb>>Это парсинг строки на джаваскрипте == тормоза, за такой код в библиотеке надо расстреливать. В своём джаваскрипте на здоровье, а библиотека не должна вносить тормоза на ровном месте.
D>Если скорость критична, то и $('<div/>') тоже недопустим, да и jquery вообще, а document.createElement() — наше всё.
Случай вида $("<div>") обрабатывается отдельно и накладных расходов там минимум.
Здравствуйте, vsb, Вы писали:
vsb>Там же новый элемент создаётся, нет там никакого reflow.
Таки не заметил что он сначала создается, а потом вставляется, сорри.
Здравствуйте, pose, Вы писали:
P>ну т.е. в jQuery — это образец как обычно пишется код?
В самом jQuery много очень познавательных примеров использования JS, но это как книжка по дзен -- нельзя воспринимать буквально.
Обычно, в системном программировании, главным являются алгоритмы и структуры данных.
P>зы. а что вместо джеквери предложить можете? вот мне нужна фотогаллерея на сайте
Вот это самая правильная постановка вопроса. Для Вашей задачи вряд ли является критичным выбор.
О том, что далее спорить не буду.
Вообще, не могу предложить, почти ничего, совсем нет желания тратить время на устаревшие, по моему мнению, приемы (в этом и смысл движения, не западать окончательно на одном), а то, что актуально сейчас, никак не могу разглашать. Если попросите у мыщъх ссылку на на то, о чем он писал здесь
Здравствуйте, pose, Вы писали:
P>ну т.е. в jQuery — это образец как обычно пишется код? P>зы. а что вместо джеквери предложить можете? вот мне нужна фотогаллерея на сайте
Вспомнил случай, поэтому копну глыбже.
Десяток лет назад ко мне обратился один паренек с такой просьбой: "-- Мне бы хотелось научиться говорить как Вы."
Это сбило меня с толку, не знал что ответить, поэтому написал ему: "Приходите, что нибудь придумаем".
Оказался он типичным сангвиником, и интересовало его только одно -- "Как?". А я никогда не обращал внимания на то как говорю и пишу, гораздо важнее было _что_ говорю, пишу и думаю. Не случись такой просьбы, даже не задумался бы об этом.
В итоге дал ему книжку Дейла Карнеги, мне она не нужна, а ему идеально подходила, да и написана легко, что не маловажно. Но он ее не осилил, вернул через пару недель.
Так вот, копайте глыбже, нечего парить голову вопросом "Как?".
Здравствуйте, silverwolf, Вы писали:
S>Здравствуйте, Пацак, Вы писали:
П>>Здравствуйте, pose, Вы писали:
П>>Javascript + jquery — это очень читабельно, понятно и просто! (с) Mamut S>Проблемы не в языках, а в головах (c) Не_помню_кто
Вообще-то, "проблемы не в сортирах, а в головах" — это фраза профессора Преображенского
из "Собачьего сердца" Михаила Булгакова.
Здравствуйте, pose, Вы писали:
P>Привет.
P>Не приходилось ковыряться в готовых javascript фрейморках. обычно просто подключал и юзал. P>но вот захотел в lightbox поменят 2 дива местами. открыл js файл и ахнул
P>скажите это нормальные стиль писания на жаваскрипте? P>по мне после с++ разит глаза кол-во скобок и все одним куском
P>
говнокод потерт
Автор говнокода просто не умеет программировать и не знает jQuery.
Диалоги делаются в одну строку: $('#LightboxTemplate').tmpl(data).dialog(options);
Обработчики навешиваются один раз: $(document).on('click', '.handlerOpenMyXxx', openMyXxx);