Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как вывести данные из JS в CSS (https://javascript.ru/forum/misc/75891-kak-vyvesti-dannye-iz-js-v-css.html)

LaymMan 15.11.2018 09:03

Как вывести данные из JS в CSS
 
Есть такой код JS:
$(document).ready(function(){
    window.addEventListener('message', function(event) {
        var data = event.data;
        $(".container-fluid").css("display",data.show? "none":"block");
        $("#armor").css("width",data.armor);
        $("#health").css("width",data.health);
        $("#hunger").css("width",100 - data.hunger);
        $("#thirst").css("width",100 - data.thirst);
    });
});

Нужно вывести data.Health в stroke-dasharray(CSS). Пытался через
Код:

$(".circle").css("stroke-dasharray",data.health);
но он выводит одно число, а нужно два. Пример: stroke-dasharray: 50 100, где 50 это data.Health, а 100 константа.

Nexus 15.11.2018 09:13

Попробуйте так:
$('svg .circle').get(0).style.cssText+=';stroke-dasharray:('+data.Health+',100);';


upd. если это атрибут, то можно так попробовать:
$('svg .circle').get(0).setAttribute('stroke-dasharray','('+data.Health+',100)');

рони 15.11.2018 09:14

LaymMan,
$('svg .circle').attr('stroke-dasharray',data.Health+' 100');

LaymMan 15.11.2018 09:25

Цитата:

Сообщение от Nexus (Сообщение 498589)
Попробуйте так:
$('svg .circle').get(0).style.cssText+=';stroke-dasharray:('+data.Health+',100);';


upd. если это атрибут, то можно так попробовать:
$('svg .circle').get(0).setAttribute('stroke-dasharray','('+data.Health+',100)');

Извините пожалуйста, раньше stroke-dasharray стоял в html, не то написал. Должно быть stroke-dasharray: 50 100

Nexus 15.11.2018 09:27

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

LaymMan 15.11.2018 09:32

Все ответы не работают.

Nexus 15.11.2018 10:02

LaymMan, консоль смотрели?
У вас элемент 'svg .circle' вообще есть?

LaymMan 15.11.2018 10:13



В HTML с svg и attr вот этот скрипт работает:
$("svg .circle").attr("stroke-dasharray",data.health);

Без svg, но с css работает в CSS. Ваши не там, не там не работают.

LaymMan 15.11.2018 10:32

Всем спасибо большое, я тупой. health с маленькой буквы нужно писать. :D


Часовой пояс GMT +3, время: 06:02.