2013-02-25 66 views
1

我有一个PHP页面调用另一个页面上的JavaScript函数,以加载60个图像之一(每秒1个)。每个图像的名称中都有一个数字(即1-60),并且当用户按下按钮时,按下按钮时加载的图像对应于第二个图像。每秒加载图像

我有JavaScript页面返回当前的秒数,但我似乎无法引用正确的图像名称。这是一个JavaScript语法问题,还是应该以 '秒' 变量通过Ajax分开记录:

<img src=<?php echo image-1.jpg') ?> id="imageX" /> 
<div id="mySec">Seconds</div> 
<button type="button" onclick="myFunction_1()">Function_1</button> 

<script> 
    function myFunction_1() { 
     var d = new Date(); 
     var x = document.getElementById("mySec"); 
     x.innerHTML=d.getSeconds(); 
     var z = d.getSeconds(); 
     document.getElementById("imageX").src="<?php echo 'image-' . "z". '.jpg' ?>" ; 
    } 
</script> 
+1

你不能像这样混合PHP和JavaScript,并期望它工作。 PHP在服务器上运行,JavaScript在浏览器中运行。 – 2013-02-25 03:46:45

+0

感谢@Matt - 所以如果我要使用Ajax,我该怎么做。 – TedtheBear 2013-02-25 03:51:29

+3

你根本不需要ajax。您正在使用(试图使用)PHP来构建一个字符串。只需用JavaScript字符串连接来代替它。 – 2013-02-25 03:54:33

回答

3

尝试:

<img src="image-1.jpg" id="imageX" /> 

和:

<script> 
    function myFunction_1() { 
     var d = new Date(); 
     var x = document.getElementById("mySec"); 
     var z = d.getSeconds(); 
     x.innerHTML = z + ' Seconds'; 
     document.getElementById("imageX").src = 'image-' + z + '.jpg'; 
    } 
</script> 

无需PHP在所有。

+0

谢谢@iambriansreed是这工作 - 它是+的标志,使它。 – TedtheBear 2013-04-05 12:43:58