【问题标题】:Connecting thumbnails to images extracted using php将缩略图连接到使用 php 提取的图像
【发布时间】: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] = "&lt;img src='{$filename}' alt='{$filename}' /&gt;"; 可以更改为 $slide_images[$filename] = "&lt;a class='fancybox' data-fancybox-group='thumb1' href='{$filename}'&gt;&lt;img src='{$filename}' alt='{$filename}' /&gt;&lt;/a&gt;"; ...唯一的问题是你将使用与缩略图相同的图像,这将增加页面加载的开销。
  • 我在picssel.com/…picssel.com/…的帖子中解决了这个问题

标签: php html css fancybox


【解决方案1】:

您必须编辑您的 php 代码,在其中为以下代码生成图像的 hmtl:

$slide_images[$filename] = '<a class="fancybox" data-fancybox-group="slide-N">';
$slide_images[$filename] .= "<img src='{$filename}' alt='{$filename}' />";
$slide_images[$filename] .= '</a>';

因此您将获得fancybox 所需的准确标记,但您必须将fancybox-data-group 属性设置为一张幻灯片上的所有图像都相同(将“slide-N”替换为您的实际“slide-1”等) , 当 fancybox 将显示当前幻灯片上图像的缩略图时。 这是jsfiddle 示例,您将获得它。

【讨论】:

    猜你喜欢
    • 2015-03-02
    • 1970-01-01
    • 2015-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    • 2011-02-09
    相关资源
    最近更新 更多