2013-02-28 61 views
-2

[已解决]包括php文件的结果javascript

我试图从头开始构建一个图片库。 我有一个php文件的目录,每个都是相册的缩略图。每个这种结构:

<div class="pic"> 
    <img id="albcov" onclick="showAlbum(this)" src="someimg.jpg" 
    Alt="albumtitle" 
</div> 

相关JS:

function showAlbum(img){ 
    var albumname=img.alt 
    document.getElementById("albcont").innerHTML = [executed contents of: albumname  serverside php file]; 
}  

我怎么能获取所需的文件?

此php文件将生成指定相册的缩略图列表。 这反过来将所有完整的图像显示。

据我了解,它将需要某种阿贾克斯。

编辑:这里是我现在使用的代码:

function showAlbum(img){ 
    albumName = img.alt; 
    $('#albcont').load("/gallery/"+albumName+".php"); 
}  

其中albumname.php包含:

<p> 
<?php foreach (glob("[albumname]/*.php") as $filename) 

{ 
    include ($filename); 
} 
?> 
</p> 

,其中包括在该专辑中的所有PHP文件具有结构:

<div class="galpic"> 
<img onmouseover="displayImage(this)" src=" 
someimg.jpg 
" alt=" 
alt 
" /> 
<p> 
caption 
</p> 
</div> 

和JS的这个是:

function displayImage(img) { 
    var imgname= img.src 
    var albumname= img.alt 
    document.getElementById("imgview").innerHTML ='<img src="'+imgname+'"/>'; 

} 

例如,查看在lonjaselter.co.nr/gallery2.php

+0

也许这将帮助:http://stackoverflow.com/questions/7727446/javascript- get-output-from-separate-php-script – Kamil 2013-02-28 22:03:29

+0

当你说'我有一个php文件的目录是...'你的意思是上面的结构EG有它的php文件吗?如果是这样的话,将它们包含在一个php中并不容易,所以你只需要加载一个文件而不是几个文件。是的,如果您想通过js加载它们,则需要使用Ajax。查看jQuery Ajax,这会给你一个洞察。 – 2013-02-28 22:04:34

+0

“据我了解,它将需要某种类型的AJAX”。它会;你有没有使用Ajax的经验?你是否已经在使用某种Ajax库或框架? – bfavaretto 2013-02-28 22:08:20

回答

1

您可以通过使用AJAX做到这一点。的jQuery可以这么轻松的完成它更可以jQuery AJAX Api Doc

使用jQuery的Ajax请求的代码是

/*i assume that img is id of the element that you are passing as parameter. in jQuery Way*/ 
function showAlbum(img){ 
    var imgId = '#'+ img, 
     albumName = $(imgId).attr('alt'); 
    $('#albcont').load("http://yourdomainname/path/to/"+albumname+".php"); 
} 
+0

感谢,伟大的作品。 – 2013-02-28 23:18:46