【发布时间】:2015-09-08 18:07:54
【问题描述】:
我有一个滑块 (flexslider),我用它来以下面 jsfiddle 中所示的形式显示图像...我优化了滑块,以便它提取图像(使用数字命名,例如:12364、50046)根据其名称动态地从某个目录中获取。
JSFIDDLE:https://jsfiddle.net/atkumqpk/1/
图片提取代码:
<?php
function get_slide_images($folder, $images_per_slide = 10, $starts_with = '')
{
$slide_images = false;
// valid extensions
$extensions = array(
"jpg",
"gif",
"jpeg",
"svg",
"png",
"bmp",
"JPG"
);
// Implode the extensions array into a string:
$extensions = implode(',', $extensions);
if (file_exists($folder)) {
// Get all the files with a valid extension in $folder:
// (optionally filtered by $starts_with)
foreach (glob($folder.'/{'.$starts_with.'}*.{'.$extensions.'}', GLOB_BRACE) as $filename) {
$slide_images[$filename] = "<img src='{$filename}' alt='{$filename}' />";
}
if (!empty($slide_images)) {
ksort($slide_images);
$slide_images = array_chunk($slide_images, $images_per_slide);
}
}
return $slide_images;
}
?>
<div id="logo" class="logo" ><img src="logo.png"/></div>
<p class="custom-class"><a href="">Go to the main website</a></p>
<div id="menu" class="menu">
<ul class="headlines">
<li id="item1">
<button>aaaaaaaa</button>
</li>
<li id="item2">
<button>bbbbbbb</button>
</li>
<li id="item3">
<button>ccccccc</button>
</li>
<li id="item4">
<button>dddddddd</button>
</li>
<li id="item5">
<button>eeeeeee eee.</button>
</li>
<li id="item6">
<button>ffffff</button>
</li>
<li id="item7">
<button>ggggggg</button>
</li>
</ul>
</div>
<div id="container">
<div id="first" class="inner-container">
<div id="item11" class="item"> <a name="item11"></a>
<div class="flexslider">
<ul class="slides">
<?php
$slider_kvp = get_slide_images("images", 10, "1");
/**
* Here we are going to generate the SLIDES
*/
if($slider_kvp) {
$slider_list_html = array();
foreach($slider_kvp as $slider_key => $slide_images) {
$html_LI_list = "";
$html_LI_list = "<li>";
// Go through each image ...
foreach($slide_images as $image_key => $image_value) {
$html_LI_list .= $image_value;
}
$html_LI_list .= "</li>";
$slider_list_html[$slider_key] = $html_LI_list;
}
// OUR SLIDES!
$rendered_slider_list_html = implode(' ', $slider_list_html);
echo "<ul class='slides'>{$rendered_slider_list_html}</ul>";
}
?>
</ul>
</div>
</div>
</div>
现在的问题是,当我拥有原始滑块时(在优化它之前),我将它连接到“fancybox”以显示缩略图和隐藏图像。但是现在我不知道如何将它连接到使用 php 提取的图像。
Fancybox 的代码。 JSFIDDLE:http://jsfiddle.net/ny9ytae5/2/
案例:在目录图像(我从中提取图像)中,我有以数字命名的图像(例如:54236),并且对于每个图像,都有一个具有相同名称的等效文件夹(例如:对于图像 54236有一个文件夹 54236)。文件夹 54236 的内容是需要连接到图像 54236 的缩略图。 有什么帮助吗?
【问题讨论】:
-
为什么要改变拇指位置?
-
每张图片有一个缩略图,还是多个?如果有多个,请说明您想要什么行为:选择菜单项时,必须显示一张图像的所有缩略图,当您单击缩略图时,大图像将显示为fancybox?
-
最后,这只是你的 php 代码呈现什么 HTML 的问题,所以也许这一行
$slide_images[$filename] = "<img src='{$filename}' alt='{$filename}' />";可以更改为$slide_images[$filename] = "<a class='fancybox' data-fancybox-group='thumb1' href='{$filename}'><img src='{$filename}' alt='{$filename}' /></a>";...唯一的问题是你将使用与缩略图相同的图像,这将增加页面加载的开销。 -
我在picssel.com/…picssel.com/…的帖子中解决了这个问题