【发布时间】:2015-07-28 15:01:56
【问题描述】:
.php
<?php
$timeArray = [355,400,609,1000];
$differentTimeArray = [1,45,622, 923];
?>
<script type="text/javascript">
var i=0;
var eventArray = [];
function generateArray(arrayName){
eventVideoArray = <?php echo json_encode(arrayName); ?>;
var vid = document.getElementById('my_video');
vid.currentTime = eventVideoArray[i];
}
</script>
<button onClick="javascript:generateArray(timeArray)"><button>
目前我可以通过使 generateArray 没有参数并用 $timeArray 替换 arrayName 来获得生成所需输出的函数。
即工作代码
<script type="text/javascript">
var i=0;
var eventArray = [];
function generateArray(){
eventVideoArray = <?php echo json_encode($timeArray); ?>;
var vid = document.getElementById('my_video');
vid.currentTime = eventVideoArray[i];
}
</script>
我想使用 generate 函数来调用许多不同的 Time 数组,所以让 JS 直接从 php 数组调用会使编码更容易。任何帮助将不胜感激。
谢谢!
[已解决]
你好,
不确定有关 php 无法运行的 cmets,我的 IIS 上有一个工作示例,只是不够灵活。
我通过在 html 中重写按钮解决了这个问题。现在我可以使用相同的函数将新的时间数组添加到视频中。
感谢您的帮助。
<?php
$timeArray = array();
$timeArray[] = 345.1;
$timeArray[] = 789.1;
$timeArray[] = 1002.1;
$timeArray[] = 1200.12;
$differentArray = array();
$differentArray[] = 1500;
$differentArray[] = 1700;
?>
<script type="text/javascript">
var i = 0;
var eventVideoArray = [];
function generateArray(arrayName){
eventVideoArray = arrayName;
var vid = document.getElementById('my_video');
vid.currentTime = eventVideoArray[i];
}
</script>
<button id="goToTime" onClick="javascript:generateArray(<?php echo json_encode($timeArray); ?>)">timeArray</button>
<button id="goToTime" onClick="javascript:generateArray(<?php echo json_encode($$differentArray); ?>)">differentTimeArray</button>
【问题讨论】:
-
网络服务器不会解析 .html 文件中的 PHP...
-
@ChrisMaggs:这真的取决于配置,网络服务器可以设置为这样做。至于原始问题,您可能需要使用
echo插入这些变量
标签: javascript php arrays html