如何为在Django中创建的for循环中重复的一组html代码运行JavaScript代码?

我在html中有此代码,可为上下文变量中的每个元素创建一个html代码块。

{% for car, speed in carSpeeds.items %}

<div id="car1">
    <div id="carSpeedBar">
<!-- progress bar indicating car speed value goes here -->
    </div>
</div>

<p id='result'></p>

<!-- div simply holding the variables for each iteration -->
<div class="container">
    <p id='carType'>{{ car }}</p>
    <p id='carSpeed'>{{ speed }}</p>
</div>

{% endfor %}

目标:我想为每个创建的栏运行此JS / JQ代码

var bar = $('#carSpeedBar');
var result = $('#carSpeed').text();
var res = document.getElementById('result');
var width = 0;

var id = setInterval(speed, 12);

    function speed(){

        if (width < result){
            width++;
                bar.style.width = width + '%';
                res.innerHTML = width + '%';

到目前为止,这是我所拥有的并且可以正常工作,但这仅为html代码的第一块创建了条形,而忽略了其他代码块,我不知道为什么。像这样,它为梅赛德斯创建了一个标杆,并且将所有其他值都保留下来,而将其他所有值保留为空白。我的猜测是它拒绝覆盖元素的ID,因为它们可能以某种方式被复制。请告诉我我做错了什么,以及我应该如何实现这一目标。

谢谢。

djbrown

正如PRMoureu在评论中所说:您确实应该正确设置ID。您可以在模板中使用forloop.counter变量来获取从1开始的当前迭代编号。将变量添加到id之前是这样的:

<div id="carSpeedBar{{forloop.counter}}">

第二件事是泛化您的JavaScript,以便它可以处理多辆汽车。将您的代码段包装到一个以汽车ID为参数的函数中,并根据此参数将您的硬编码ID调整为动态

function animateCarSpeed(var id) {
    var bar = $('#carSpeedBar' + id);
    //...
}

最后,您将不得不调用新的通用JavaScript函数。根据您包含JavaScript的方式,您将在JavaScript文件中,script模板循环内的元素或模板末尾调用函数

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

StringTemplates,如何在代码中创建一组模板

如何在Go Test IntelliJ中重复运行一个或一组测试

在主循环中运行代码

如何每天在特定时间使用JavaScript刷新一组代码

如何为每个用户ID重复一组日期?

通过一些重复的代码在Javascript中创建函数

如何基于循环创建一组数据帧?

如何在Erlang代码行中解释一组变量

在For循环中运行一组任务组

如何使用RMarkdown在投影仪演示中从一组代码创建两个图?

创建一组javascript

如何在选择两个复选框时禁用一组复选框的jquery函数中消除重复代码?

如何在JavaScript中根据一组特定位数的整数生成固定长度的代码

如何为代码行创建重复项

如何使用Java代码启动一组线程

PHP代码仅从提交的HTML表单中打印出第一组值

如何在JavaScript循环中打印代码

Talend-如何在循环中运行一组组件?

在Mac终端中的一组文件上运行代码

如何在php中的循环中制作一组每2个值

简化 AngularJS 在 HTML 代码中的重复循环

如何为列中的一组客户创建 1 个 ID?

如何仅从for循环中的数组中获取一组值

如何在 Kotlin 上循环一组代码?(安卓)

我如何在 tkinter 中创建一组带有循环的按钮?

如何在 R 中的一组不同的变量和模型上创建循环

如何为包括管道的代码创建循环

创建用于循环遍历一组 html 元素的 javascript 方法

如何为此代码创建循环?(Python)