最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Dynamic progress bar Javascript and HTML - Stack Overflow

programmeradmin7浏览0评论

I am trying to create a dynamic bar in HTML using javascript. I have create the button but cannot seem to pass the value over to the progress bar. Can someone please help me? thanks!

<button onclick="increase()">Add</button> 
<button onclick="decrease()">Minus</button> 
<input type="text" id="tb"> 
<script type="text/javascript"> 
var value = 0 document.getElementById("tb").value = value; 
function increase(){ 
  this.value = value + 1; document.getElementById("tb").value=value;     
} 
function decrease(){ 
  this.value = value - 1; document.getElementById("tb").value=value; 
} 
document.write("<div class='meter'><span style='width: 30%'></span> </div>");
document.write("<input type='text' id=\"tb\">"+value +" </input>"); 
</script>

I am trying to create a dynamic bar in HTML using javascript. I have create the button but cannot seem to pass the value over to the progress bar. Can someone please help me? thanks!

<button onclick="increase()">Add</button> 
<button onclick="decrease()">Minus</button> 
<input type="text" id="tb"> 
<script type="text/javascript"> 
var value = 0 document.getElementById("tb").value = value; 
function increase(){ 
  this.value = value + 1; document.getElementById("tb").value=value;     
} 
function decrease(){ 
  this.value = value - 1; document.getElementById("tb").value=value; 
} 
document.write("<div class='meter'><span style='width: 30%'></span> </div>");
document.write("<input type='text' id=\"tb\">"+value +" </input>"); 
</script>
Share Improve this question edited Mar 15, 2012 at 20:21 mamoo 8,1662 gold badges30 silver badges38 bronze badges asked Mar 15, 2012 at 20:17 Brian LiBrian Li 5732 gold badges7 silver badges10 bronze badges 3
  • <button onclick="increase()">Add</button> <button onclick="decrease()">Minus</button> <input type="text" id="tb"> <script type="text/javascript"> var value = 0 document.getElementById("tb").value = value; function increase(){ this.value = value + 1; document.getElementById("tb").value=value; } function decrease(){ this.value = value - 1; document.getElementById("tb").value=value; } document.write("<div class='meter'><span style='width: 30%'></span> </div>"); document.write("<input type='text' id=\"tb\">"+value +" </input>"); </script> – Brian Li Commented Mar 15, 2012 at 20:19
  • jsfiddle (there goes the code) – Alp Commented Mar 15, 2012 at 20:19
  • can you provide us with some code ? – user1248752 Commented Mar 15, 2012 at 20:19
Add a ment  | 

1 Answer 1

Reset to default 3

It'd be easier to do this in jQuery, but here it goes with POJS:

js:

var value = 0, 
tb = document.getElementById("tb"),
progress = document.getElementById("progress"); //store these, it's better
function increase(){ 
  value++;// same as value += 1, but better
  if(value>=100) value = 100;//keep it under 100%
  tb.value = value;// set the value of the text field     
  progress.style.width = value + "%";// set the width of the progress bar
} 
function decrease(){ 
  value--;
  if(value<=0) value = 0;//keep it over 0%
  tb.value = value; 
  progress.style.width = value + "%";
} 

document.write is janky, so I ditched that & put the bar in the markup.

html:

<button onclick="increase()">Add</button> 
<button onclick="decrease()">Minus</button> 
<input type="text" id="tb"> 
<div id='meter'><div id='progress'></div></div>

css:

​#meter {border:1px solid #000;width:100px}
#progress {background:#333;height:10px;width:0%}​

fiddle: http://jsfiddle/sw95b/

发布评论

评论列表(0)

  1. 暂无评论