-2

[解決済み]

画像ギャラリーを一から作成しようとしています。それぞれがアルバムのサムネイルである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ファイルは、指定されたアルバムのサムネイルのリストを生成します。これにより、すべての完全な画像が表示されます。

私が理解しているように、それはある種のajaxを必要とします。

編集:これが私が今使っているコードです:

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で表示する例

4

1 に答える 1

1

ajaxを使用してそれを行うことができます。jQueryを使用すると、 jQuery AJAXApiDocをさらに簡単に実行できます。

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");
}
于 2013-02-28T22:24:54.737 に答える