|
|
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
Являюсь не слишком искушенным кодером в веб. Чтобы ответить самому на следующие вопросы, необходимо прочитать тонну книг, и то не факт, что сделаю правильный вывод. Есть пользователь, которому я на сервисе добавляю кнопку на определенной странице. То есть для других пользователей этой кнопки нет. По нажатию этой кнопки должен выскочить блок с некоторой таблицей и кнопками да-нет. Как реализовал я сам: кнопка рисуется при формировании HTML-страницы с уже назначенным onClick. Также чуть раньше при формировании в зависимости от пользователя загружается скрипт с функционалом для этой кнопки. А вот стили я дописал в общий файл. Создание невидимого DIV сделал как Код: javascript 1. 2. 3. 4. 5. На что IE версии 8 стал ругаться "HTML parsing error". Это решается обновлением Винды KB2792100. Но мне показалось это неправильным. В итоге ошибки удалось избежать, выполнив createDiv в конце BODY. И тут я озадачился. onDOMContentLoaded кроссбраузерно описывать довольно много для простого события, а создавать div каждый раз по нажатию кнопки как-то медленно будет, быстрее видимым невидимым сделать. Думаю просто оставить так как есть в конце BODY - хоть и не эстетично, но быстро и везде работает. Хочется сделать, чтобы работало быстро, компы у многих пользователей откровенно слабые, и любое замедление сразу видно. И теперь главный вопрос. Как все сделать по хорошему и что является "хорошим тоном" для таких ситуаций? Функционал кнопки и стили в отдельные файлы и загружать непосредственно перед кнопкой? На каком моменте создавать элемент? Распишите пожалуйста немножко. Очень хочется создавать такой сервис, который по быстроте почти не уступает десктопу. А для этого надо знать как лучше поступать в подобных ситуациях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 11:10 |
|
||
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
kaldoreyПо нажатию этой кнопки должен выскочить блок с некоторой таблицей и кнопками да-нетЯ для этого использую jQuery UI (а именно dialog) Является ли это хорошим тоном - я не знаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 12:44 |
|
||
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
kaldoreyа создавать div каждый раз по нажатию кнопки как-то медленно будет, быстрее видимым невидимым сделать.можно при первом нажатии создать див (т.е. при условии, что он не создан), а дальше использовать его, меняя видимость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 12:57 |
|
||
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
Что вообще такой синтаксис значит? Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 13:21 |
|
||
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 13:26 |
|
||
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
GustlyЧто вообще такой синтаксис значит? Код: javascript 1. Выполнение анонимной функции с передачей ей параметра... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 13:27 |
|
||
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
Это я так понимаю делается, когда надо функцию единожды вызвать и потом она память за собой освободит? Или еще для чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 15:13 |
|
||
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
1) не загрязнять глобальный контекст 2) этакий заменитель with 3) за память не скажу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 15:14 |
|
||
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
Gustlyи потом она память за собой освободит?не всю. переменные, которые будут упоминаться в замыканиях, не освободятся. пример: Код: javascript 1. 2. 3. 4. 5. 6. здесь на некий элемент вешается обработчик, который захватывает (механизм "замыкания") переменную "х". Т.е. она останется жить после завершения этой внешней функции. А вот "y" уничтожится. Сказанное можно проверить в отладчике. А если бы в функции div1.onclick использовался eval(...) , то сохранились бы обе переменные, т.к. в строке для евала может упоминаться любая из них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 15:25 |
|
||
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы. А со скриптами и стилями как быть? Отдельными файлами для этой кнопки? Или все в общий пихать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 15:33 |
|
||
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
kaldoreyСпасибо за ответы. А со скриптами и стилями как быть? Отдельными файлами для этой кнопки? Или все в общий пихать? Я бы наверное в свойство style кнопки запихал, раз она редко появляющаяся, дабы "обычных" не смущать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 15:36 |
|
||
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
kaldoreyА со скриптами и стилями как быть? Отдельными файлами для этой кнопки? Или все в общий пихать?скрипт вроде уже используется - например, тот, который создает кнопку. Отдельно не надо. Насчет стилей - тут можно по разному смотреть. Есть стили чисто оформительские-дизайнерские, всякие там цвета, шрифты, паддинги, бордер-радиусы - их однозначно в css вместе со всеми. А некоторые стили - скорее "функциональные", тот же display, например - он может меняться в коде. Его лучше прямо в style запихнуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 15:44 |
|
||
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
Gustly, Тут не только кнопка, но и Див со всем содержимым, позиционирование и т.д. Т.е. не пара строк что стиля, что скрипта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 15:45 |
|
||
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
Яростный Меч, Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 06:56 |
|
||
|
хороший тон при добавлении элемента
|
|||
|---|---|---|---|
|
#18+
Яростный Мечздесь на некий элемент вешается обработчик, который захватывает (механизм "замыкания") переменную "х". Т.е. она останется жить после завершения этой внешней функции. А вот "y" уничтожится. Сказанное можно проверить в отладчике. убьется, как только GC соберет эту функцию. У тебя в примере она "захвачена" ссылкой от DOM элемента, которую можно позже освободить, но в исходном примере на неё никто не ссылается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 16:35 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38358567&tid=1448031]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
165ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
4ms |
| others: | 224ms |
| total: | 489ms |

| 0 / 0 |
