Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Открыть новую тему     Написать ответ в эту тему

Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Weinaum
1) при чем тут javascript? (раз речь лишь о перекрытии элементов на странице)
2) когда пишете, что что то не получается - показывайте что делаете.
3) ну и, наконец, смотрели на нагрузку на процессор?) сомневаюсь, что какой нибудь посетитель этому обрадуется.

Всего записей: 16424 | Зарегистр. 20-09-2014 | Отправлено: 21:53 10-04-2018 | Исправлено: Mavrikii, 21:54 10-04-2018
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii - пост
Согласен, это только css, а вот по загрузке, довольно ровно.

Ну и собственно на любителя, только как опцию можно делать.

----------
Гомосексуальность среди модераторов не является психическим расстройством, несмотря на синонимы этого понятия в русском языке.

Всего записей: 4160 | Зарегистр. 03-02-2011 | Отправлено: 22:04 10-04-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
 а вот по загрузке, довольно ровно

по загрузке чего? смотреть нужно GPU загрузку (я его имел в виду, а не CPU)
 

Всего записей: 16424 | Зарегистр. 20-09-2014 | Отправлено: 22:14 10-04-2018 | Исправлено: Mavrikii, 22:15 10-04-2018
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Чёта не узнаю такую менюшку, пока могу только это показать.



----------
Гомосексуальность среди модераторов не является психическим расстройством, несмотря на синонимы этого понятия в русском языке.

Всего записей: 4160 | Зарегистр. 03-02-2011 | Отправлено: 22:41 10-04-2018
Weinaum



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
1. Сорри, закладки "вопросы по ..." рядом, подумалось, что имеет отношение как к css так и к js.  
У автора есть слегка измененный вариант, вот этот - там как видно внутри еще текст в js зашит,вот я и подумал, идеально было бы свой див воткнуть туда подобным образом, либо же этот канвас сделать фоном к диву.
2. К сожалению, показать пока не могу, скоро смогу, тем более что вы мне к этому проекту уже много чем помогли. ))
3. Да спасибо, вижу. По сути, проект представляет собой одностраничный, как нынче модно говорить, лендинг, на 5-6 экранов, на каждом из которых присутствует нагрузка, либо js, либо svg анимация. Все с отложенной загрузкой, каждый эффект стартует когда необходимый див в фокусе. Если не смотреть на таск менеджер, я бы и не сказал, что есть серьезная нагрузка: визуально даже мой старенький домашний компьютер хавает все без тормозов, кулеры не гудят.
К тому же смысл у проекта главным образом не практический, а чисто визуальный, по большому счету просто показывающий набор "wow-эффектов".  
Поэтому скорее всего, учитывая все таки нагрузку, будет целесообразно данный дым показывать только на больших экранах, а на остальных заменить на обычную фоновую картинку.  
Можно еще альтернативу поискать, но я не особо вижу. Есть вариант видео с дымом поставить фоном, но не думаю, что это будет меньше грузить...
 
Сорри за офф
 
VVL99
Если не сложно, покажите пожалуйста(наверное лучше в теме по css, чтобы все таки не засорять данную тему), ваш код к последнему вашему видео.

Всего записей: 2156 | Зарегистр. 18-06-2006 | Отправлено: 09:30 11-04-2018
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Написал тут зачем-то маленькую функцию, теперь думаю, нужно ли её вообще использовать.

Код:
 
function gE(a, b, c) {
    return eval((c || "document") + ".getElementsBy" + (b || b == "" ? b : "Class") + 'Name("' + a + '")')
}
 

Всего записей: 4160 | Зарегистр. 03-02-2011 | Отправлено: 22:47 26-04-2018 | Исправлено: VVL99, 22:49 26-04-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
нужно ли её вообще использовать.

eval - зло, использовать не нужно

Всего записей: 16424 | Зарегистр. 20-09-2014 | Отправлено: 23:05 26-04-2018
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
eval - зло, использовать не нужно

Я так и думал, eval = evil.

Всего записей: 4160 | Зарегистр. 03-02-2011 | Отправлено: 23:12 26-04-2018
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я уже проводил специфические тесты, но всё же, теоретически, что быстрее:

Код:
 
var a = "";
var a1 = "a1";
a1 && (a += a1);
var a2 = "a2";
a2 && (a += a2);
var a3 = "a3";
a3 && (a += a3);
 

 

Код:
 
var a = "";
var b = "";
b = "a1";
b && (a += b);
b = "a2";
b && (a += b);
b = "a3";
b && (a += b);
 

 
Добавлено:
Немного поясню, переменных много, а значения берём со стороны, к примеру из локального хранилища. Почему возник вопрос, Js же как бы в два захода выполняет скрипт, вот и получается, что в одном случае переменные сразу собираются со значениями, а во втором, они походу выполнения скрипта меняются.

Всего записей: 4160 | Зарегистр. 03-02-2011 | Отправлено: 13:09 01-05-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
Js же как бы в два захода выполняет скрипт

что значит "два захода"?
 

Цитата:
они походу выполнения скрипта меняются

меняется только одна переменная - а

Всего записей: 16424 | Зарегистр. 20-09-2014 | Отправлено: 19:37 01-05-2018
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
что значит "два захода"?

Сперва инициализируются переменные и функции, а затем выполняется код.
Точно сказать не могу, но по сравнению с другими языками, функция обьявленная в конце кода доступна уже в начале, а вот с переменными не помню как точно обстоят дела.
 
Добавлено:

Цитата:
меняется только одна переменная - а

Да, но постоянно перезаписывается значение.

Всего записей: 4160 | Зарегистр. 03-02-2011 | Отправлено: 21:50 01-05-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
но по сравнению с другими языками, функция обьявленная в конце кода доступна уже в начале

с чего это?? функции - так и должно быть (но функция должна быть определена ранее или в блоке кода, так как js блок подключенный в другой части страницы и подгружаемый позже не даст функций на момент выполнения блока выше), а вот переменные нет.
https://jsfiddle.net/uahpL46q/
js выполняется последовательно, никаких фактических проходов нет (кроме анализатора, но это уже другое и это типично для интерпретируемых языков). в компилируемых языках это за вас делает компилятор, в питоне и php код, аналогично, при первом обращении преобразуется в байт версию, которая потом запускается быстрее.
https://ru.wikipedia.org/wiki/Байт-код
в js тоже есть, но все зависит от движка

Цитата:
Сценарный язык JavaScript выполняется различными высокопроизводительными «движками», в основном, встроенными в веб-браузеры, часто с возможностью JIT-оптимизации. Многие интерпретаторы построены с применением байт-кода, однако программы на Javascript распространяются в виде исходных кодов.

 
https://blog.sessionstack.com/how-javascript-works-inside-the-v8-engine-5-tips-on-how-to-write-optimized-code-ac089e62b12e
https://blog.sessionstack.com/how-does-javascript-actually-work-part-1-b0bacc073cf
ну и https://stackoverflow.com/questions/261599/why-can-i-use-a-function-before-its-defined-in-javascript
 

Цитата:
Да, но постоянно перезаписывается значение.

фигней страдаете.  js это интерпретатор, скорость его выполнения зависит не только от реализации машины в браузере, но и общей загрузки браузера, загрузки процессора и тд и тп. пытаться выиграть время в подобных мелочах, выполняемых несколько раз за все время работы скрипта, это лишняя трата времени.

Всего записей: 16424 | Зарегистр. 20-09-2014 | Отправлено: 22:21 01-05-2018 | Исправлено: Mavrikii, 22:42 01-05-2018
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
фигней страдаете.

Видимо да, всё же хотелось бы знать как правильно писать.
Если я беру значение ключа локального хранилища, то может и переменная вовсе не нужна, даже если я буду к этому ключу ещё обращаться, а если нужно использовать переменную, то нужно ли её потом обнулять, что бы не было утечки памяти, ну или вообще лучше создать глобальный объект и в конце его удалить.

Всего записей: 4160 | Зарегистр. 03-02-2011 | Отправлено: 02:20 02-05-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
что бы не было утечки памяти,

не будет, это забота машины.
более того, лишняя переменная не приведет к более медленной работе или существенному использованию памяти. машина уже помнит все то, что существует в области определения.

Код:
(function() {
// переменные
// различные действия, функции
})();

снаружи переменные и функции будут недоступны, но будут существовать пока есть возможность их вызова или использования

Всего записей: 16424 | Зарегистр. 20-09-2014 | Отправлено: 02:26 02-05-2018
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Примерно понятно, тут наверно важнее самому не запутаться в переменных.
Пробовал вот технологии (валидации, сжатия и т. д.) весч интересная, но в меру.
https://closure-compiler.appspot.com
http://refresh-sf.com
https://skalman.github.io/UglifyJS-online

Всего записей: 4160 | Зарегистр. 03-02-2011 | Отправлено: 02:39 02-05-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
Пробовал вот технологии (валидации, сжатия и т. д.) весч интересная

они имеют смысл только для уменьшения скачиваемого размера файла, не более. даже обфускация из них никакая.
 

Цитата:
важнее самому не запутаться в переменных.

называть их надо так, чтобы было понятно что к чему. ну и использовать различные области определения, чтобы не перекрывались. ну или аналог namespace (использование объектов) https://stackoverflow.com/questions/881515/how-do-i-declare-a-namespace-in-javascript

Всего записей: 16424 | Зарегистр. 20-09-2014 | Отправлено: 02:45 02-05-2018 | Исправлено: Mavrikii, 02:50 02-05-2018
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Тогда ещё хотелось бы сформулировать вопрос про особенность характера Оперы, я с ней редко общаюсь, но пару раз она фыркала на "закрытые блоки" в то время как другие браузеры не предъявляют претензий.
Образный пример

Код:
 
if (1 == 2) {
    function C() {
        alert(3)
    }
};
C()
 

Всего записей: 4160 | Зарегистр. 03-02-2011 | Отправлено: 02:59 02-05-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
в то время как другие браузеры не предъявляют претензий.  

предъявят в момент выполнения кода - функция не будет определена.

Цитата:
Uncaught TypeError: C is not a function
    at window.onload ((index):72)

это та ситуация, когда функция определяется в момент работы программы.

Всего записей: 16424 | Зарегистр. 20-09-2014 | Отправлено: 03:04 02-05-2018
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Но ведь она выполняется, вот сейчас ещё раз проверил через консоль хрома.

Всего записей: 4160 | Зарегистр. 03-02-2011 | Отправлено: 03:06 02-05-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
Но ведь она выполняется

нет.
https://jsfiddle.net/3vha35zs/

Всего записей: 16424 | Зарегистр. 20-09-2014 | Отправлено: 03:07 02-05-2018
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru