DOM странность с циклом jQuery - PullRequest
0 голосов
/ 05 октября 2010

Я получаю изображения из каталогов динамически для некоторых слайд-шоу на создаваемом мной сайте WordPress. Иногда они появляются на страницах, иногда нет.

Глядя на это, я уверен, что мне нужен какой-то предварительный загрузчик, чтобы инициализировать мои изображения в DOM, прежде чем плагин цикла сделает то, что он делает, но я просто не знаю, где искать подходящий код. Мой код выглядит следующим образом:

<?php
        function show_gallery($path){
            if($path == ""){
                return;
            }
            // Fix the path to be usable
            $path = "wp-content/themes/mytheme" . "$path";

            // Ignore files/paths that aren't usable
            $img_list = array_diff(scandir($path), array('.', '..', '.DS_Store'));
            $imgcount = count($img_list);
            if($imgcount > 1){
                echo "<div id=\"overlay-prev\"><img src='/wp-content/themes/grisedale/assets/gallery/prev.png' class='prev'></div>";
                echo "<div id=\"overlay-next\"><img src='/wp-content/themes/grisedale/assets/gallery/next.png' class='next'></div>";
            } else {
                echo "";
            }
            echo "<div id=\"current-image\">";
            // Spit out the images to be controlled by cycle
            foreach ($img_list as $img){
                echo "<img class='gallery-images' src='../../../$path$img'>\n";
            }
            echo "</div>";
        }
    ?>
    <script type="text/javascript" charset="utf-8">
    $(document).ready(function() {
        $('#current-image').cycle({
            fx: 'fade',
            speed:  'fast', 
            timeout: 0,
            prev:    '#overlay-prev',
            next:    '#overlay-next', 
            containerResize: true
        });
    });
    </script>

Честно говоря, все изображения маленькие, и если бы был какой-то тест на здравомыслие, я мог бы сделать с PHP, что, вероятно, будет достаточно. В любом случае, мне просто нужно, чтобы изображения предсказуемо загружались на любую страницу, на которой есть галерея, без необходимости делать три или четыре перезагрузки, чтобы их увидеть. Приветствия.

1 Ответ

0 голосов
/ 06 октября 2010

UPDATE

Итак, хитрость с плагином jQuery в цикле состоит в том, чтобы установить конкретную ширину и высоту для ваших изображений. Я устанавливал ширину, и, видимо, для большинства браузеров этого просто недостаточно. Я также установил минимальную высоту, и теперь все работает как положено.

...