【问题标题】:My javascripts result is displaying only once after Iteration on the form element that display the Javascripts result我的 javascripts 结果在显示 Javascripts 结果的表单元素上迭代后仅显示一次
【发布时间】:2019-06-16 18:45:36
【问题描述】:

我希望我的 javascript 结果在我的表单元素迭代时进行迭代。 javascript 结果仅显示在迭代结果的一部分中。我希望它显示迭代中每个结果的唯一结果。我该怎么做?

我在循环中包含了 javascript 代码,但我仍然没有得到想要的结果。代码的其他部分正在迭代,但不是 javascript 部分

{% for post in public_posts%}

            <!-- Products tab & slick -->
            <div class="col-md-12">
                <div class="row">
                    <div class="products-tabs">
                        <!-- tab -->
                        <div id="tab1" class="tab-pane active">
                            <div class="products-slick" data-nav="#slick-nav-1">

                                <div class="product">
                                    <div class="product-img">
                                        <img src="static/img/product03.png" alt="">

                                   </div>
                                    <div class="product-body">
                                        <p class="product-category" >{{post.total_slot}}</p>
                                        <h3 class="product-name"><a href="#">{{post.post_title}}</a></h3>
                                        <h4 class="product-price">₦{{post.slot_value/post.total_slot}}</h4>
                                       <h4 class="remaining-time" id="demo"></h4>

                                        <div class="product-rating">
                                        </div>
                                        <div class="product-btns">
                                            <button class="add-to-wishlist"><i class="fa fa-heart-o"></i><span class="tooltipp">add to wishlist</span></button>
                                            <button class="add-to-compare"><i class="fa fa-exchange"></i><span class="tooltipp">add to compare</span></button>
                                            <button class="quick-view"><i class="fa fa-eye"></i><span class="tooltipp">quick view</span></button>
                                        </div>
                                    </div>
                                    <div class="add-to-cart">
                                        <button class="add-to-cart-btn"><i class="fa fa-shopping-cart"></i> add to cart</button>
                                    </div>
                                </div>

                            </div>
                            <div id="slick-nav-1" class="products-slick-nav"></div>
                        </div>
                        <!-- /tab -->
                    </div>
                </div>
            </div>
            <script>
                // Set the date we're counting down to
                var countDownDate = new Date("{{post.share_date}}").getTime();

                // Update the count down every 1 second
                var x = setInterval(function() {

                  // Get today's date and time
                  var now = new Date().getTime();

                  // Find the difference between now and the count down date
                  var difference = countDownDate - now;

                  // Time calculations for days, hours, minutes and seconds
                  var days = Math.floor(difference / (1000 * 60 * 60 * 24));
                  var hours = Math.floor((difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
                  var minutes = Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60));
                  var seconds = Math.floor((difference % (1000 * 60)) / 1000);

                  // Output the result in an element with id="demo"
                  document.getElementById("demo").innerHTML = days + "d " + hours + "h "
                  + minutes + "m " + seconds + "s ";

                  // If the count down is over, write some text 
                  if (difference < 0) {
                    clearInterval(x);
                    document.getElementById("demo").innerHTML = "EXPIRED";
                  }
                }, 1000);
                </script>
            <!-- Products tab & slick -->
            {% endfor %}

![图片链接]:https://www.canva.com/design/DADdASfyIuM/wkC2OlaGbWDymv5ehTXkIg/view?utm_content=DADdASfyIuM&utm_campaign=designshare&utm_medium=link&utm_source=sharebutton

我希望红色的区域标记会出现在剩余的表单中,但根据迭代结果会有不同的结果

【问题讨论】:

    标签: javascript html python-3.x flask-wtforms


    【解决方案1】:

    我认为脚本调用了多次,但每次它都会在屏幕上找到第一个 id="demo" 的元素,并覆盖它的内容,所以你只得到第一个 H4#demo 填充..

    【讨论】:

    • 感谢 Yosef 的回复,但我该如何获得其余部分?
    • 您可以为每个标题赋予唯一的 id,例如,在此处添加帖子 id。我没有使用python进行渲染,但是,您不能使用python进行计算,并在解析时直接添加输出值?
    • 请注意,我只使用一个头文件,我将其放入 for 循环中进行迭代。我将 ID 放在标题中它可以工作,但我得到相同的结果而不是不同的结果
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多