javascript в html элементе сцены

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Pavel_Bannykh
Сообщения: 12
Зарегистрирован: Пн ноя 07, 2016 4:56 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: javascript в html элементе сцены

Сообщение Pavel_Bannykh » Ср фев 15, 2017 11:16 am

Никакой разницы, что в Дополнительный код JavaScript, что напрямую в html
denis
Сообщения: 284
Зарегистрирован: Сб ноя 24, 2012 11:47 am
Благодарил (а): 28 раз
Поблагодарили: 28 раз

Re: javascript в html элементе сцены

Сообщение denis » Пн дек 11, 2017 6:14 pm

У меня та же самая проблема. Хотел заполнять данными элемент 'select', по событию onload. Но javascript отрабатывает, а потом сразу же элемент на сцене заполняется данными, которые были изначально. Есть кто победил это дело? Как я понимаю это связано с механизмом функционирования сцен, но не хочется уходить на домашние страницы и писать все элементы управления с нуля.
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 400 раз
Контактная информация:

Re: javascript в html элементе сцены

Сообщение immortal » Пн дек 11, 2017 7:19 pm

такая же хрень, код вот тут https://majordomo.smartliving.ru/forum/ ... =30#p64819
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: javascript в html элементе сцены

Сообщение Vovix » Пн дек 11, 2017 10:02 pm

immortal писал(а):такая же хрень, код вот тут https://majordomo.smartliving.ru/forum/ ... =30#p64819
у меня появилась одна мысль...
попробуйте код вставлять в сцену не непосредственно, а через какое-нибудь свойство!
т.е. как %вашОбъект.свойство%
предварительно, конечно положив туда свой код!
и не забудьте также разложить код javascript, тоже в другое свойство
ну и CSS также
и всё через %вашОбъект.свойство% повставлять по своим местам

мысль понятна?

UPD:
вот пример моей сцены ToDo (полностью работающей!!!)
Скриншот 2017-12-11 23.04.36.png
Скриншот 2017-12-11 23.04.36.png (18.9 КБ) 4768 просмотров
За это сообщение автора Vovix поблагодарил:
denis (Вт дек 12, 2017 10:12 pm)
Рейтинг: 1.16%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: javascript в html элементе сцены

Сообщение Vovix » Пн дек 11, 2017 11:19 pm

но наверно это не поможет!
т.к. например у Pavel_Bannykh
виной всему было window.onload скорее всего!
не забываем, что MajorDoMo это по сути движок, который сам обрабатывает ваш код
и выполняет свои обновления окон, фреймов, блоков и т.д.
С функционалом javascript работающим с событиями DOM-элементов особенно надо быть внимательно!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 400 раз
Контактная информация:

Re: javascript в html элементе сцены

Сообщение immortal » Вт дек 12, 2017 12:17 am

Vovix писал(а):но наверно это не поможет!
т.к. например у Pavel_Bannykh
виной всему было window.onload скорее всего!
не забываем, что MajorDoMo это по сути движок, который сам обрабатывает ваш код
и выполняет свои обновления окон, фреймов, блоков и т.д.
С функционалом javascript работающим с событиями DOM-элементов особенно надо быть внимательно!
не сработало, что делать, куда модифицировать код чтобы работало?
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: javascript в html элементе сцены

Сообщение nick7zmail » Вт дек 12, 2017 7:20 am

Я тоже такое заметил...
если писать как раз в "Дополнительный javascritpt код" - после отрисовки пропадает...а если писать в основной элемент в теге <script></script> - то всё ок...остановился на таком варианте.
Вот если что рабочий пример javascript-а в сцене https://majordomo.smartliving.ru/forum/ ... 193#p65193
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: javascript в html элементе сцены

Сообщение Vovix » Вт дек 12, 2017 9:15 am

nick7zmail писал(а):Я тоже такое заметил...
если писать как раз в "Дополнительный javascritpt код" - после отрисовки пропадает...а если писать в основной элемент в теге <script></script> - то всё ок...остановился на таком варианте.
Вот если что рабочий пример javascript-а в сцене https://majordomo.smartliving.ru/forum/ ... 193#p65193
самое интересное, что моя сцена с ToDo тоже полностью рабочая!!!
поэтому надо смотреть какой код вы запускаете! (про элементы DOM я написал выше)
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 400 раз
Контактная информация:

Re: javascript в html элементе сцены

Сообщение immortal » Вт дек 12, 2017 9:34 am

Вот этот код

Код: Выделить всё

src="demo/js/jquery-1.7.2.min.js"
src="demo/js/jquery-ui-1.8.21.custom.min.js"

        $(function() {

            //Сохраняем нужные элементы в перменных
            var slider  = $('#slider'),
                tooltip = $('.tooltip');

            //Скрываем подсказку в начале
            tooltip.hide();

            //Вызываем слайдер
            slider.slider({
                //Конфигурация
                range: "min",
                min: 1,
                value: 35,

                start: function(event,ui) {
                    tooltip.fadeIn('fast');
                },

                //Событие слайдреа
                slide: function(event, ui) { //При пермещении слайдера

                    var value  = slider.slider('value'),
                        volume = $('.volume');

                    tooltip.css('left', value).text(ui.value);  //Выравниваем подсказку соответственно

                    if(value <= 5) { 
                        volume.css('background-position', '0 0');
                    } 
                    else if (value <= 25) {
                        volume.css('background-position', '0 -25px');
                    } 
                    else if (value <= 75) {
                        volume.css('background-position', '0 -50px');
                    } 
                    else {
                        volume.css('background-position', '0 -75px');
                    };

                },

                stop: function(event,ui) {
                    tooltip.fadeOut('fast');
                },
            });

        }); 
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: javascript в html элементе сцены

Сообщение Vovix » Вт дек 12, 2017 11:23 am

ну дак:

Код: Выделить всё

Примечание: Функция $(function(){...}); ведёт себя также как и $(document).ready(function(){...});. Т.е. её можно использовать для оборачивания других операций $() на странице, которым для выполнения необходимо,
 чтобы DOM-дерево было полностью построено браузером.
Например, выполнить функцию после того, как DOM-дерево станет доступно для использования:

$(function() {
  //DOM-дерево готово
});

Например, для безопасного выполнения jQuery кода Вы можете использовать следующую конструкцию:

jQuery(function($) {
  //DOM-дерево готово
});
В этой конструкции в качестве функции jQuery используется $. Безопасность выполнения этого сценария заключается в том, что
 код jQuery, находящейся в этой конструкции не будет конфликтовать с другими библиотеками JavaScript, в которых в качестве
 псевдонима тоже используется знак $. Кроме этого этот сценарий также не будет зависеть от переменной, которая установлена
 в качестве глобального псевдонима функции jQuery. 
либо, насколько я понимаю, вам надо чтобы эта функция постоянно работала - запускайте ее в таймере javascript!

P.S.
и потом, я не уверен, но...
jquery у нас уже подключен, зачем вы снова это?
хотя я могу и ошибаться, я не гуру в javascript!!!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Ответить