【问题标题】:How to style the value of a HTML5 progress bar with JQuery?如何使用 JQuery 设置 HTML5 进度条的值?
【发布时间】:2013-07-02 08:14:21
【问题描述】:

这就是我获得酒吧的方式:

var bar = $('#progressbar');

我可以很好地设置它的样式和动画,使用以下任何一种:

bar.css(...)
bar.animate(...)

但是我怎样才能调整 CSS 只为进度条值元素呢?

就像我可以在我的 styles.css 文件中做的那样:

progress::-webkit-progress-value {
    background:white;
    opacity: 0.7;
}

【问题讨论】:

标签: jquery css html animation styles


【解决方案1】:

试试吧,希望对你有帮助

<progress id="progressBar" value="10" max="100" />

$('#click').click(function(){
    $('#progressBar').val(60);
})

用于演示 - http://jsfiddle.net/fJxGG/196/

【讨论】:

  • 我调整值没有问题,但是稍后调整值元素的CSS。
  • 没用 ;),我不知道你在说什么。
  • @Microtechie 的目标是改变进度条 css,而不是值
【解决方案2】:

如果您想在值更改时更改 css,请尝试:

var bar = $('#progressbar');
bar.change(function() {
    $(this).css('opacity',parseInt($(this).val())/100);
});

编辑 据我了解,您需要对条带进行样式设置,以呈现价值,我必须大量编辑我的答案。事实上,我没有研究使用 jQuery 和/或 JavaScript 来操作 css 伪选择器的方法,但是有一种方法可以创建样式表并动态地更改它。就是这样:

    $(document).ready(function() {
        var style=document.createElement("style");
        var sheet = document.head.appendChild(style).sheet;
        var bar = $('#progressbar'); // your progress bar
// first of all, i create first rule
        sheet.insertRule('progress::-webkit-progress-value{ background-color: rgb('+bar.val()+','+bar.val()+','+bar.val()+');}');
        bar.change(function() {
// because here it throws an error if no 1st rule
            sheet.deleteRule(0);
            sheet.insertRule('progress::-webkit-progress-value{ background-color: rgb('+bar.val()+','+bar.val()+','+bar.val()+');}');        
        });

    });

我没有测试上面的代码(只是在这里改变了它),但它给出了一个基本的表示。 Here is 带有“加号”按钮的工作示例,可增加值并更改 backgroung-color 的确切值栏

我也很失望,HTML5+JS 在这方面太差了,也许以后……

EDIT2 实际上 change() for &lt;progress&gt; 由于某种原因在 jQuery 中不起作用(这并不意味着真正的 javascript 对象没有 onchange 属性),所以这个例子不会真的有用

查看UPDATED DEMO

【讨论】:

  • 再次:我不想更改进度条本身的 CSS,而是 progress bar value element
  • 好的,我终于明白了,不确定这是否可能,但如果&lt;progres&gt; 不是强制性的,请根据需要使用&lt;div&gt; 或&lt;span&gt; 样式 - 它可以看起来像进度条,它是简单 100 倍
  • 是的,这可能就是我最终要做的。但是该死的,对于 html5 的力量来说太多了 ;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-30
  • 2021-06-30
  • 2014-06-27
  • 1970-01-01
  • 2010-12-02
  • 2012-11-10
相关资源
最近更新 更多