1

我有一个 JS 函数,我试图从 PHP 代码中调用它。我正在调用此 JS 函数循环运行的次数(例如 5 次)。代码:

    <script>
    //var seconds = '';
function csst(rowid){ alert(rowid);
    window.setInterval(function(){
        secondPassed();
        function secondPassed() {
        seconds = parseInt($("#ts").val());
        var minutes = Math.round((seconds - 30)/60);
        var remainingSeconds = seconds % 60;
        if (remainingSeconds < 10) {
            remainingSeconds = "0" + remainingSeconds; 
        }
        $("#countdown1"+rowid).html(minutes + ":" +    remainingSeconds);
        if (seconds <= 0) {
            clearInterval();
            document.getElementById('countdown1'+rowid).innerHTML = "Buzz Buzz...";
              } else {    
            seconds--;
            $("#ts").val(seconds);
        }
        }
},1000);

}

</script>
<?php
$c = 1;
echo '<input type="hidden" value="50" id="ts" name="ts"/>';

echo "<table border='1'>";
while ($c <=5)
{
    echo '<script>
        csst('.$c.'); 
        </script>';
    echo '<tr><td>row'.$c.'</td><td><p id="countdown1'.$c.'"></td></tr>';
    $c++;
}
echo "</table>";

?>

我需要在表格的每一行中同时显示一个时间递减计数器。使用相同的JS函数。

任何帮助,请!

4

1 回答 1

0

我以某种方式设法解决了这个查询。我只是为了玩picking变量

echo '<input type="hidden" value="50" id="ts" name="ts"/>';

使用这段代码在循环中创建动态 ID 并在 JS 函数中动态选择值有帮助。任何其他更好的方法总是好的。更新的工作代码:

    <script>
    //var seconds = '';
function csst(rowid){ //alert(rowid);
    window.setInterval(function(){
        secondPassed();
        function secondPassed() {
        seconds = parseInt($("#ts"+rowid).val()); 
        var minutes = Math.round((seconds - 30)/60);
        var remainingSeconds = seconds % 60;
        if (remainingSeconds < 10) {
            remainingSeconds = "0" + remainingSeconds; 
        }
        $("#countdown1"+rowid).html(minutes + ":" +    remainingSeconds);
        if (seconds <= 0) {
            clearInterval();
            document.getElementById('countdown1'+rowid).innerHTML = "Buzz Buzz...";
              } else {    
            seconds--;
            $("#ts"+rowid).val(seconds);
        }
        }
},1000);

}

</script>
<?php
$c = 1;

echo "<table border='1'>";
while ($c <=5)
{
$val = $c+50;
echo '<input type="hidden" value="'.$val.'" id="ts'.$c.'" name="ts"/>';
    echo '<script>
        csst('.$c.'); 
        </script>';
    echo '<tr><td>row'.$c.'</td><td><p id="countdown1'.$c.'"></td></tr>';
    $c++;
}
echo "</table>";

?>

请分享任何其他解决方案。

于 2020-05-23T19:59:17.560 回答