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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

Mavrikii

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

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

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

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

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

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

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

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

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

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

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



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

Всего записей: 4158 | Зарегистр. 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, чтобы все таки не засорять данную тему), ваш код к последнему вашему видео.

Всего записей: 2155 | Зарегистр. 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 + '")')
}
 

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

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

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

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

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

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

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

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

Всего записей: 4158 | Зарегистр. 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 же как бы в два захода выполняет скрипт, вот и получается, что в одном случае переменные сразу собираются со значениями, а во втором, они походу выполнения скрипта меняются.

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

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

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

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

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

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

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

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

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

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

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

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

Всего записей: 4158 | Зарегистр. 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 это интерпретатор, скорость его выполнения зависит не только от реализации машины в браузере, но и общей загрузки браузера, загрузки процессора и тд и тп. пытаться выиграть время в подобных мелочах, выполняемых несколько раз за все время работы скрипта, это лишняя трата времени.

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

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

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

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

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

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

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

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

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

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

Всего записей: 15687 | Зарегистр. 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

Всего записей: 4158 | Зарегистр. 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

Всего записей: 15687 | Зарегистр. 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()
 

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

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

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

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

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

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

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

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

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

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

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

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

Всего записей: 15687 | Зарегистр. 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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru