首页 > 解决方案 > 使用jQuery动画填充进度条?

问题描述

我正在构建一份可以部署到服务器的简历。我正在使用 Python 的 Django Web 开发框架来开发它,但我认为这不会影响我当前的问题。我列出了我作为进度条所拥有的技术技能。我目前能够显示进度条,但我希望它是动画的。所以,当页面重新加载时,我希望进度条显示为空,然后在几秒钟内,我希望它动画到指定的百分比宽度。理想情况下,我还希望看到它在动画时改变颜色。在左边,我希望它以红色开始。当它接近中间时,我希望它动态变为橙色,然后是黄色,然后是黄绿色,最后是全绿色(如果它是 100% 满的)。

我创建了我的项目的一个片段,这样您就不必查看整个文件:

<!DOCTYPE html>
{% load static %}
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Resume - Brenden Price</title>
    <!-- Bootstrap & jQuery -->
    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
    <style>
      .progress-bar {
        -webkit-transition: none !important;
        transition: none !important;
      }
    </style>
    <script>
       $(".progress-bar").animate({
          width: "70%"
       }, 2500);
    </script>
  </head>
  <body>
  <div class="col-md-6 col-sm-12">
       <h2>Skill Set</h2>
       <hr>
       {% for skills in skills %}
       <div class="progress mt-4">
         <div class="progress-bar bg-success" role="progressbar" aria-valuenow="{{skills.comfort}}" aria-valuemin="0" aria-valuemax="100" style="width: {{skills.comfort}}%;"> {{skills.skill}}</div>
       </div>
       {% endfor %}
  </div> 

对于不熟悉 Django 的任何人,任何带有{% something here %}{{ something here }}模板标签的标签都用于从我的数据库中加载信息。这是我当前的 jQuery 调用,如上图所示:

$(".progress-bar").animate({
   width: "70%"
}, 2500);

在我的控制台中,我收到以下错误:

未捕获的类型错误:$(...).animate 不是函数

我也不确定如何将 jQuery 中的宽度更改为插入到{{skills.comfort}}调用中的任何内容。也许我可以尝试获取aria-valuenow值并将其插入 jQuery 中?

我在这方面还是比较新的,并且正在努力学习,所以任何帮助或建议将不胜感激。

标签: javascripthtmljquerycssbootstrap-4

解决方案


推荐阅读