Сортировка PHP не работает в Chrome и Safari

0

Я не уверен, что это не тот тип, который не работает, или способ вывода информации. Но казалось бы, что порядок, который эти элементы "ли" делают, иногда бывает неправильным.

Изображения в папке называются что-то вроде

A-Mike-дружки-topRight-light.jpg

B-Джеймс-дружки-topRight-light.jpg

С-Джаред-дружки-topRight-light.jpg

Код ниже. "Ли" находятся в правильном порядке в Firefox, но Chrome и Safari иногда ставят последний в первую очередь. Тогда иногда они этого не делают. Хотя мне интересно, может ли bxslider перемещать вещи после загрузки страницы? Кто-нибудь испытывает это раньше?

<?PHP 
    $titleName = 'who\ who'; //Wording for title of this section. Change this if you want to change the title text of this section
    include 'modules/title.php'; 

    $boydirectory = $_SERVER['DOCUMENT_ROOT']."/resources/images/who/boys";
    $girldirectory = $_SERVER['DOCUMENT_ROOT']."/resources/images/who/girls";
    $boy_results_array = array();
    $girl_results_array = array();

    if (is_dir($boydirectory))
    {
        if ($handle = opendir($boydirectory))
        {
            foreach(glob($boydirectory.'/*.*') as $file) 
            {           
                $boy_results_array[] = basename($file);
            }
            closedir($handle);
        }
    }
    if (is_dir($girldirectory))
    {
        if ($handle = opendir($girldirectory))
        {
            foreach(glob($girldirectory.'/*.*') as $file) 
            {               
                $girl_results_array[] = basename($file);
            }
            closedir($handle);
        }
    }
    sort($boy_results_array);
    sort($girl_results_array);
?>
<div class="whoSlider boy">
    <h3>Boys</h3>
    <ul class="whoBoysbxslider">
    <?php
        if(count($boy_results_array) > 0){
            for ($i = 0; $i < count($boy_results_array); $i++) {

                $result = explode('-', $boy_results_array[$i]);
                $name = str_replace("_", " ", $result[1]);
                $job = str_replace("_", " ", $result[2]);
                $alignment = $result[3];
                $color = str_replace(".jpg", "", $result[4]);
                echo "<li>";
                echo "<img src=\"../resources/images/who/boys/$boy_results_array[$i]\" />";
                echo "<div class=\"captionContainer $alignment $color\">";
                echo "<span>$name</span>";
                echo "<span>$job</span>";
                echo "</div></li>";
            }
        }
    ?>
    </ul>
</div>
<div class="whoSlider girl">
    <h3>Girls</h3>
    <ul class="whoGirlsbxslider">
    <?php
        if(count($girl_results_array) > 0){
            for ($j = 0; $j < count($girl_results_array); $j++) {

                $result = explode('-', $girl_results_array[$j]);
                $name = str_replace("_", " ", $result[1]);
                $job = str_replace("_", " ", $result[2]);
                $alignment = $result[3];
                $color = str_replace(".jpg", "", $result[4]);
                echo "<li>";
                echo "<img src=\"../resources/images/who/girls/$girl_results_array[$j]\" />";
                echo "<div class=\"captionContainer $alignment $color\">";
                echo "<span>$name</span>";
                echo "<span>$job</span>";
                echo "</div></li>";
            }
        }
    ?>
    </ul>
</div>
Теги:
google-chrome
safari
webkit
bxslider

3 ответа

0
Лучший ответ

По-видимому, проблема была не в php, а в слайдере BX. Проблема в том, что он шел к слайду клонов вместо первого слайда. Только в хром и сафари. Следующая ссылка говорит о проблеме.

https://github.com/stevenwanderski/bxslider-4/issues/154

Решение, которое работало для меня, добавляло это в файл jquery.bxslider.css

.bx-viewport li {min-height: 1px; min-width: 1px; min-width: 1px; } }

0

Прежде всего, PHP - это серверный язык, и поведение браузера не выполняется.

Поэтому я бы сказал, что ваша проблема вызвана bxslider, которая является плагином jQuery, поэтому поведение, на которое может повлиять браузер.

Чтобы проверить, что вы можете нажать ctrl + u в firefox и chrome и увидеть, что html тот же.

  • 0
    Это проблема. Я смотрю на HTML, и похоже, что элементы "li" вышли из строя на DOM. Вот почему я подозреваю, что php неправильно сортирует. Слайдер BX просто берет li и создает слайд-шоу с ними. Я не верю, что они меняют порядок HTML.
0

пытаться

промывать()

после echo(), чтобы убедиться, что содержимое, которое вы хотите распечатать, отправляется клиенту в этот момент.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню