【问题标题】:HTML 5 Progress barHTML 5 进度条
【发布时间】:2014-04-01 14:05:43
【问题描述】:

任何人都曾在 MArketo 着陆页的进度条中编写代码。想法是在每个字段完成后栏会增加,直到所有字段都完成并且栏将是 100%?

这就是我所拥有的

<progress max="100" value="0" id="progress"></progress>

<script>
$("#payment-form input").keyup(function() {

// calculate progress

});

var numValid = 0;
$("#payment-form input[required]").each(function() {
if (this.validity.valid) {
    numValid++;
}
});

// "Cached" somewhere once
var progress = $("#progress"),
progressMessage = $("#progressMessage");

// Logic that runs after counting every time
if (numValid == 0) {
progress.attr("value", "0");
progressMessage.text("The form, it wants you.");
}
if (numValid == 1) {
progress.attr("value", "20");
progressMessage.text("There you go, great start!");
}
</script>

我试图从中收集信息的表单称为进度

【问题讨论】:

  • 那么你的问题是什么?
  • 向我们展示您的工作/尝试,我们很乐意提供帮助。

标签: javascript jquery html progress-bar marketo


【解决方案1】:

试试 html5 原生进度条(仅适用于现代浏览器(基本上,IE 除外))

<progressbar max='100' value='0' id='my-id'></progressbar>
<!-- later... -->
<script type='text/javascript'>
functions setBarValue(v){
    document.getElementById('my-id').value=""+v;
}
</script>

有关浏览器支持,请参阅http://www.w3schools.com/tags/tag_progress.asp。 (我知道 w3fools.com,但 w3schools 还是可以参考的)

如果您想针对所有浏览器,最好使用 jQuery UI (http://jqueryui.com)。使用 jQuery UI,您可以使用此代码

<div id='my-id'></div>
<!-- later... -->
<script type='text/javascript'>
$(document).ready(function(){
    $("#my-id").progressbar();
});
function setBarValue(v){
    $("#my-id").progressbar({value:v});
}
</script>

【讨论】:

  • 另外,要使进度条不确定,请删除 HTML5 的 value 属性并将值作为 false 传递给 jQuery UI。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-19
  • 1970-01-01
  • 1970-01-01
  • 2017-03-08
  • 1970-01-01
  • 1970-01-01
  • 2021-04-07
相关资源
最近更新 更多