最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實(shí)現(xiàn)可控制的進(jìn)度條

 更新時(shí)間:2020年03月25日 14:37:10   作者:何處錦繡不灰堆  
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)可控制的進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

寫在前面

進(jìn)度條一直以來都是很多地方都可以用的,那么很多的時(shí)候其實(shí)我們都是自己在網(wǎng)上找代碼,直接使用的,很少有人自己寫源碼的,今天呢我們就簡(jiǎn)單的實(shí)現(xiàn)一個(gè)進(jìn)度條的效果,沒有做美化,喜歡做美化的可以自己做一下美化。

源碼已經(jīng)放到Github上:進(jìn)度條源碼

一如既往的看效果:

好吧,效果還是一如既往的丑,簡(jiǎn)單的說一下怎么實(shí)現(xiàn)這樣的效果,還是和之前一樣我們分析一下難點(diǎn)在哪?

第一:進(jìn)度條是生成的,那么就意味著div的寬度是不定的。

第二:百分比是動(dòng)態(tài)的,就意味著是計(jì)算出來的。

第三:每次的改變,百分比都要自己計(jì)算出來,說明公式里面的數(shù)據(jù)是變量。

只要解決這三個(gè)問題,這個(gè)進(jìn)度條就解決了,至于顏色怎么改變這些就不是什么難點(diǎn)了。

首先怎么是div的寬度不固定呢?其實(shí)也不難,只要我們根據(jù)用戶輸入的長(zhǎng)度來改變寬度就可了,拿到用戶輸入的數(shù)據(jù),將數(shù)據(jù)的值賦予樣式的款就行了!

var user_number = $("#user_number").val();
context.style.width = user_number+"px";

第二:百分比怎么計(jì)算呢?既然是百分比,就是顏色的寬度/div的寬度,那么顏色的寬度只要變化,那么百分比自然就變化了。

if(count !== Number(user_number)){
  /* 改變樣式的寬度 */
  nercon.style.width = count+"px";
  /* count自加 */
  count++;
  /* 百分比的顯示,保留兩位小數(shù) */
  text_contest.textContent = (parseFloat(count/user_number)*100).toFixed(2)+"%";
  }else{
  return false;
  }

第三的問題第二里面也就一起解答了!

看源碼:

<!DOCTYPE html>
<!-- 
 aim:csdn example
 date:2018-09
 author:clearlove
 bug:0%
 environment:osx
 introduce:Progress bar introduction
 -->
<html>
 <head>
 <meta charset="utf-8" />
 <title></title>
 <style type="text/css">
 .style_input{
 width: 3rem;
 margin-bottom: 2rem;
 }
 #context{
 height: 1.5rem;
 border: 1px solid black;
 float: left;
 border-radius:10px;
 }
 #ner_con{
 background-color: aqua;
 height: 100%;
 border-radius:10px;
 }
 #text_contest{
 height: 1.5rem;
 width: 3rem;
 float: left;
 margin-left: 0.3rem;
 }
 #pro_div{
 height: 1.5rem;
 width: 3rem;
 float: left;
 }
 </style>
 <script src="js/jquery-1.11.2.min.js" type="text/javascript" charset="utf-8"></script>
 </head>
 <body>
 <input type="number" name="" id="user_number" value="" class="style_input"/>
 <input type="button" name="" id="" value="生成" οnclick="change()"/>
 
 <div id="">
 <div id="context">
 <div id="ner_con">
 </div>
 </div>
 <div id="text_contest">
 </div>
 </div>
 <script type="text/javascript">
 var count = 1;
 var screewidth = document.body.clientWidth;
 function change(){
  /* 拿到ID以改變樣式 */
  var nercon = document.getElementById("ner_con");
  var context = document.getElementById("context");
  var text_contest = document.getElementById("text_contest");
  var user_number = $("#user_number").val();
  /* 判斷一下是不是超過了可見區(qū)域 */
  if(Number(user_number)>=(screewidth/2)){
  console.log(screewidth);
  alert("輸入過長(zhǎng),請(qǐng)重新輸入!");
  return false;
  }
  else{
  context.style.width = user_number+"px";
  /* 只需要將內(nèi)部的div的寬度遞增就可以了*/
  if(count !== Number(user_number)){
  /* 改變樣式的寬度 */
  nercon.style.width = count+"px";
  /* count自加 */
  count++;
  /* 百分比的顯示,保留兩位小數(shù) */
  text_contest.textContent = (parseFloat(count/user_number)*100).toFixed(2)+"%";
  }else{
  return false;
  }
  setTimeout("change()",100);
  }
  
 }
 </script>
 </body>
</html>

PS:這里仔細(xì)的人可能已經(jīng)看出來了,我沒有做過多的校驗(yàn),沒有判斷用戶輸入的是不是空就觸發(fā)函數(shù),這些知道就行了,自己寫的時(shí)候不要忘記加上,不然會(huì)出bug!

不要忘記引入jquery

謝謝閱讀

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

大荔县| 个旧市| 买车| 牡丹江市| 吴堡县| 宜都市| 大荔县| 高淳县| 卓尼县| 宣威市| 桦南县| 郎溪县| 佛冈县| 彭泽县| 岳西县| 海安县| 渝中区| 西藏| 遂川县| 县级市| 乐东| 延长县| 西峡县| 珠海市| 保德县| 滦南县| 云浮市| 桐庐县| 新绛县| 湖北省| 静安区| 南部县| 通河县| 三原县| 呼和浩特市| 修文县| 手机| 资兴市| 安新县| 沙洋县| 耒阳市|