2013-01-03 17 views
0

編輯:我遵循了快樂和巴特Friederichs的建議,它一直非常有幫助。而不是使用PHP我正在使用JavaScript和代碼現在正在工作,但我仍然有一個問題。當我點擊頁面上的按鈕時,它會顯示我想要的圖片,但該按鈕消失,所以我無法循環訪問數組中的其餘圖片。怎麼了?任何幫助,將不勝感激。圖片與數組中的Javascript

<html> 
<head> 
<script type="text/javascript"> 
var picArray=["images.jpg","customLogo.gif.png"]; 
var count=0; 

function changePic(){ 
    document.write("<img src='"+ picArray[count] +"' />"); 
    count++; 
} 
</script> 
</head> 

<body> 
    <button type="button" onclick="changePic()">Click Me!</button> 
</body> 
</html> 
+0

您必須爲此使用JavaScript。 –

+0

我發佈了我的問題的編輯。 – codenamejupiterx

回答

0

您的changePic()函數是一個PHP函數,但是wh你調用onclick =「changePic()」你正在使用HTML來調用Javascript函數。如果您在瀏覽器中查看了調試窗口,則會看到一個錯誤,指出changePic不存在。

您不能使用html的onClick來調用PHP,而不是沒有重定向或調用JS中的'wrapper'函數,該函數通過AJAX等加載帶有參數的PHP文件。

你有幾個選擇在這裏..或者把你的圖片放入一個Javascript數組,並使用onclick調用來抓取它們,如果你這樣做,你甚至不需要你的iframe,你可以直接打印圖像到頁面使用document.write。或者,爲什麼不直接使用數組索引的參數將iframe的源設置爲您的PHP腳本。那麼,你有

src=$picArray[count] 

更改爲

src=whatever.php?image=1 

例如。這種方式只需要一次渲染iframe,而不是每次點擊就像您試圖瞭解的那樣,您只需更改iframe內容即可。

有一堆方法可以做你正在嘗試的,讓我知道如果上述任何一個建議適合你。

+0

謝謝快樂!我會嘗試你的javascript建議,並在我完成後重新發布。 – codenamejupiterx

+0

我發佈了我的問題的編輯。 – codenamejupiterx

0

你需要使用AJAX來處理onClick事件,這反過來又會在其中可以返回它filenmae後臺運行一個PHP頁面。

然後阿賈克斯/ jQuery的會改變實際PIC

這裏是一個教程涵蓋Ajax和PHP: http://www.tizag.com/ajaxTutorial/ajaxxmlhttprequest.php

或者可以輸出所有的文件名到Java腳本數組:

echo '<script> var picarray = array() ;'; 
foreach($arrayPic as $pic) ... 

然後只需使用js訪問它

+0

Ajax幾乎不需要,一個簡單的'img.src'就足夠了。 –