为了账号安全,请及时绑定邮箱和手机立即绑定

从字符串中获取数字并插入到 css 中

从字符串中获取数字并插入到 css 中

慕姐4208626 2023-01-06 15:55:07

我正在研究一个在名为Intrexx的开发平台上使用的 javascript 函数。它有其自身的局限性,但我相信下面的代码应该有效。它应该获取数组中的数字,根据找到的内容计算百分比并返回该百分比以设置进度条的宽度。一切都按预期工作,除了设计部分的改变。任何想法为什么?


function progressBar(){

// get text of navigation (eg: 3 of 28) 

var textProgress = document.getElementById('ID_navigationinfocontrolAB63A4D8').firstElementChild.innerHTML


// get numbers inside above string as array

var a = textProgress.match(/\d+/g).map(Number)


// take numbers in array, calculate percentage of progress, return int

var progressPercentage = parseInt((a[0]*100)/a[1])


// alter design of progress bar

var progressBarDesign = document.getElementById('ID_separatorcontrolC6F8BAC8').parentNode

progressBarDesign.style.width = progressPercentage +'% !important' }

我试图直接编辑元素,但是这和编辑 parentNode 都不起作用。


查看完整描述

2 回答

?
蛊毒传说

TA贡献1630条经验 获得超3个赞

要设置重要,您可以使用以下语法

 progressBarDesign.style.setProperty("width", progressPercentage + '%', "important");

或者,如果您可以不使用important当前语法,那么应该可以正常工作。

progressBarDesign.style.width = progressPercentage + '%';


查看完整回答
反对 回复 2023-01-06
?
慕盖茨4494581

TA贡献0条经验 获得超11个赞

终于设法让它与 jQuery 一起工作。我不知道为什么这行得通而我的初始代码却行不通,但希望对其他人有所帮助。发布与第一次尝试不同的地方


    // alter design of progress bar 

    var progressBarDesign = 

    document.getElementById('ID_separatorcontrolC6F8BAC8').parentNode


    // initialize below function

    setCss(progressBarDesign, 'width', progressPercentage + '%')

    }


    function setCss(oHtmlButton, cssKey, cssValue){

    $(oHtmlButton).css(cssKey, cssValue);

    }


查看完整回答
反对 回复 2023-01-06
  • 2 回答
  • 0 关注
  • 9 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信