Php 如何在jQuery PhotoStack库中为每个图像添加说明
我有点问题。我用一个php文件打开文件夹中的照片 PHP代码:Php 如何在jQuery PhotoStack库中为每个图像添加说明,php,javascript,jquery,ajax,photos,Php,Javascript,Jquery,Ajax,Photos,我有点问题。我用一个php文件打开文件夹中的照片 PHP代码: <?php $location = 'albums'; $album_name = $_GET['album_name']; $files = glob($location . '/' . $album_name . '/*.{jpg,gif,png}', GLOB_BRACE); $encoded = json_encode($files); echo $encoded; unset($encoded);
<?php
$location = 'albums';
$album_name = $_GET['album_name'];
$files = glob($location . '/' . $album_name . '/*.{jpg,gif,png}', GLOB_BRACE);
$encoded = json_encode($files);
echo $encoded;
unset($encoded);
index.html中的
:
在HTML中添加一个描述容器:(您可以根据需要在这个div上添加样式,只有其中的文本会更改)
加载每个图像时添加以下内容:
$('<img />').load(function(){
var $image = $(this);
//added for descriptions
var description = data['descriptions'][$image.attr('src').match(/[^\/]+$/)];
$image.attr('title', description);
这是在浏览图像时出现的
...
var $new_current = $current.prev();
// modified for descriptions
$('#descriptions').text($new_current.attr('title'));
photostack.php中的:
添加$descriptions
数组。您可以通过在数据库中调用来替换此选项:(您可以省略相册和/或照片上的描述。)
更改ajax调用的返回,如下所示:
// modified for descriptions
$desc = isset($descriptions[$_GET['album_name']]) ? $descriptions[$_GET['album_name']] : array();
$data = array('imgs' => $files, 'descriptions' => $desc);
$encoded = json_encode($data);
你完了
您可以在此处看到演示:
如果你懒得自己做修改,你可以下载修改后的版本。
希望这有帮助。创建一个div
或span
并用csscan按您喜欢的方式定位。您也有帮助吗?
$('<img />').load(function(){
var $image = $(this);
//added for descriptions
var description = data['descriptions'][$image.attr('src').match(/[^\/]+$/)];
$image.attr('title', description);
if(cnt == items_count){
...
$ps_overlay.show();
// modified for descriptions
$('#descriptions').text($image.attr('title'));
}
...
var $new_current = $current.prev();
// modified for descriptions
$('#descriptions').text($new_current.attr('title'));
// added for descriptions
$descriptions = array(
'album1' => array(
'1.jpg' => 'desc1 desc1 desc1 desc1 desc1 desc1 desc1 desc1 desc1 desc1 ',
'3.jpg' => 'desc3 desc3 desc3 desc3 desc3 desc3 desc3 ',
),
'album2' => array(
'2668815346_93d641966e.jpg' => 'smiling',
...
),
...
);
// modified for descriptions
$desc = isset($descriptions[$_GET['album_name']]) ? $descriptions[$_GET['album_name']] : array();
$data = array('imgs' => $files, 'descriptions' => $desc);
$encoded = json_encode($data);