jQuery在bootstrap collapse组件中动态更改进度条“aria-valuenow”属性和CSS“width”属性的值

aij0ehis  于 2024-01-07  发布在  jQuery
关注(0)|答案(1)|浏览(141)

我从我的HTML代码片段。我可以问我如何动态地改变每个 Bootstrap 折叠组件内的每个进度条的宽度吗?我的预期输出是,当我点击折叠组件时,它将显示它里面的所有进度条,每个进度条都在前进,直到达到各自的期望值。

  1. <p>
  2. <a class="btn btn-primary" data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
  3. Link with href
  4. </a>
  5. <a class="btn btn-primary" data-toggle="collapse" href="#collapseExample1" role="button" aria-expanded="false" aria-controls="collapseExample1">
  6. Link with href
  7. </a>
  8. </p>
  9. </p>
  10. <div class="collapse" id="collapseExample">
  11. <div class="skill mb-4">
  12. <div class="d-flex justify-content-between">
  13. <h6 class="font-weight-bold">CSS</h6>
  14. <h6 class="font-weight-bold">85%</h6>
  15. </div>
  16. <div class="progress">
  17. <div class="progress-bar bg-warning progress-bar-striped progress-bar-animated" role="progressbar" aria-valuenow="85" aria-valuemin="0" aria-valuemax="100"></div>
  18. </div>
  19. </div>
  20. <div class="skill mb-4">
  21. <div class="d-flex justify-content-between">
  22. <h6 class="font-weight-bold">HTML</h6>
  23. <h6 class="font-weight-bold">95%</h6>
  24. </div>
  25. <div class="progress">
  26. <div class="progress-bar bg-primary" role="progressbar" aria-valuenow="95" aria-valuemin="0" aria-valuemax="100"></div>
  27. </div>
  28. </div>
  29. </div>
  30. <div class="collapse1" id="collapseExample1">
  31. <div class="skill mb-4">
  32. <div class="d-flex justify-content-between">
  33. <h6 class="font-weight-bold">CSS</h6>
  34. <h6 class="font-weight-bold">85%</h6>
  35. </div>
  36. <div class="progress">
  37. <div class="progress-bar bg-warning progress-bar-striped progress-bar-animated" role="progressbar" aria-valuenow="85" aria-valuemin="0" aria-valuemax="100"></div>
  38. </div>
  39. </div>
  40. <div class="skill mb-4">
  41. <div class="d-flex justify-content-between">
  42. <h6 class="font-weight-bold">HTML</h6>
  43. <h6 class="font-weight-bold">95%</h6>
  44. </div>
  45. <div class="progress">
  46. <div class="progress-bar bg-primary" role="progressbar" aria-valuenow="95" aria-valuemin="0" aria-valuemax="100"></div>
  47. </div>
  48. </div>
  49. </div>

字符串
这是我放在我的JavaScript,但它没有工作。我只是一个初学者在web开发。我希望你能理解我问这一个。我已经尝试从这个平台挖掘出来,但我还没有发现任何线索的动态进度条内的折叠组件。再次感谢您的帮助。

  1. (function ($) {
  2. "use strict";
  3. /*==================== COLLAPSE ===========================*/
  4. $('#collapseExample').on('show.bs.collapse', function () {
  5. $('.collapse .skill .progress .progress-bar').each(function () {
  6. $(this).css("width", $(this).attr("aria-valuenow") + '%');
  7. });
  8. });
  9. })(jQuery);


我在这里放置了代码片段的函数。如果你无法访问它,请告诉我。我的预期输出就像我在script.js中找到的JavaScript中由waypoint函数驱动的6个进度条。我希望每个折叠组件中的两个进度条的功能与我在progress-bar.js中尝试实现的功能相同,但它也可以集成到script.js中。folder containing the snippet of the code

rks48beu

rks48beu1#

在这里,你可以做的最简单的事情就是将.css jQuery函数更改为animate,尽管我认为这并不能完全实现你想要的。

  1. $(this).animate({
  2. "width": $(this).attr("aria-valuenow") + '%',
  3. });

字符串
为了改进这一点,你可以测试进度条的宽度,并根据该值是否为0来更改“aria-valuenow”的宽度。

  1. if ($(this).width() < 100)
  2. {
  3. $(this).animate({
  4. "width": $(this).attr("aria-valuenow") + '%',
  5. });
  6. } else {
  7. $(this).animate({
  8. "width": '0%',
  9. });
  10. }


https://jsfiddle.net/fatchild/7bhx8msz

展开查看全部

相关问题