JS в сценах

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

Модератор: immortal

Ответить
sega6549
Сообщения: 535
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

JS в сценах

Сообщение sega6549 » Чт май 12, 2016 4:22 pm

Добрый день, появилась необходимость выводить округленные значения свойств объектов (и не только у меня) есть костыль, добавить метод с кодом

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

$evr = gg("kurs.euro");
$qwe = round($evr,1);
sg("kurs.uro",$qwe); 
но это немного неудобно как я считаю, нужно создавать дополнительные свойства, например для погоды опенватчер, там есть конечно вариант заменить файлик с форума и все будет округленное но при первом же обновлении все слетит обратно, автор так и не сделал нормально модуль, хоть его и просили неодноератно, так вот придется создавать кучу свойств чтоб через метод получать округления, потом я попробовал через яву, кучу всего перечитал в итоге получил вот это

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

<script type="text/javascript">
 var n = '%ow_fact.temperature%';  
 document.write(Math.round(n *10) /10);
 </script>
все вроде отлично, все работает но только в меню mjd, в сценах происходит следующее, при переходе на сцену с элементом в котором вставлен этот код сцена как только загрузится сразу же выскакивает белый экран с единственным значением округленного свойства.
в сценах текущая погода

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

<div class="panel-weather">
    <div class="location">Ярославль</div>
    <img src="/cached/openweather/image/%ow_fact.image%.png" alt="%ow_fact.weather_type%" title="%ow_fact.weather_type%"/>
    <div class="temp-weather">
     <script type="text/javascript">
 var n = '%ow_fact.temperature%';  
 document.writeln(Math.round(n *10) /10);
 </script>
     <span class="degree">&deg;C</span></div>
    <div class="text-weather">%ow_fact.weather_type%</div>
</div>
есть мысли как поправить код чтоб результат отработки кода ява выводился в элементе а не выскакивал вместо сцены
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Dark_Veter
Сообщения: 295
Зарегистрирован: Вт апр 23, 2013 5:16 pm
Откуда: Брянск
Благодарил (а): 18 раз
Поблагодарили: 94 раза

Re: JS в сценах

Сообщение Dark_Veter » Чт май 12, 2016 5:32 pm

С document.write тоже такая проблема была, так и не победил, у себя сделал так:
В самом начале написал:

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

<script>
document.getElementById('day1').innerHTML = getWeekDay('%ow_day1.date%') + '<br><font size="2">%ow_day1.date%</font>';
</script>
А там куда значение надо подставить надо присвоить id:

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

<div id="day1"></div>
 
Попробуйте свои значения подставить, должно заработать
Последний раз редактировалось Dark_Veter Чт май 12, 2016 5:38 pm, всего редактировалось 1 раз.
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
sega6549
Сообщения: 535
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

Re: JS в сценах

Сообщение sega6549 » Чт май 12, 2016 5:35 pm

Может я совсем ничего не понял.. Это округлые значение?
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Dark_Veter
Сообщения: 295
Зарегистрирован: Вт апр 23, 2013 5:16 pm
Откуда: Брянск
Благодарил (а): 18 раз
Поблагодарили: 94 раза

Re: JS в сценах

Сообщение Dark_Veter » Чт май 12, 2016 5:42 pm

Попробуйте так (Это с вашими данными уже):

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

<script>
var n = '%ow_fact.temperature%';  
document.getElementById('day1').innerHTML = Math.round(n *10) /10;
</script>
затем в том теге, где выводится значение добавьте атрибут id

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

id='day1'
 
За это сообщение автора Dark_Veter поблагодарил:
sega6549 (Пт май 20, 2016 11:08 am)
Рейтинг: 1.16%
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
Ответить