【发布时间】:2021-05-30 16:26:58
【问题描述】:
我正在尝试显示数据库中的图像,每个图像之间存在时间延迟。时间延迟可从用户界面中选择 并在几秒钟内存储在与图像相同的记录中。我已经显示了图像,但我需要添加动态时间延迟。
时间延迟存储在名为“TimeLapse”的字段中。下面我尝试使用“TimeLapse as $HoldTime”的内容每次 while 循环显示一个新图像。
第一张图片的 TimeLapse 为“5000”。 图片 2 的 TimeLapse 为“15000”。
但看起来它只对两张图像使用了第一个 TimeLapse 5000。”
任何人都可以看到我如何做到这一点。
PHP 代码
while($row_fb = mysqli_fetch_array($fb)){ ?>
<?php $url = $ImagePath.''.$row_fb['SignageImageName'];
$HoldTime = $row_fb['TimeLapse']?>
<div class="outer">
<div class="banner-container">
<div id="wrapper">
<a><img src="/<?php echo $url;?>" class="responsive"/></a>
</div>
</div>
</div>
<?php
}
JAVASCRIPT
(function() {
var a = $('.outer').children();
var index = 0;
run()
function run() {
a.filter('.active').fadeOut(500).removeClass('active');
a.eq(index).fadeIn(500).addClass('active');
index = (index + 1) % a.length;
setTimeout(run, <?php echo $HoldTime;?>);
}
})();
【问题讨论】:
-
@Dharman 嗨。感谢别人的帮助有什么问题,这是礼貌的。
-
显然,如果您在循环中设置
$HoldTime的值,然后在循环外使用它,它将具有最后一次循环迭代的值。 -
完全没有必要。我们将 Stack Overflow 视为 Wikipedia。任何这样的绒毛都会分散实际内容的注意力
-
@miken32 嗨,你的权利。如果我将 java 脚本放在循环中,它会弄乱显示。你能就我应该怎么做提供任何建议吗?
标签: javascript php jquery settimeout