PHP排序无法在Chrome和Safari中使用

时间:2015-03-03 04:11:56

标签: php google-chrome safari webkit bxslider

我不确定是不是那种不起作用的,也不是我输出信息的方式。但似乎这些“li”元素的制作顺序有时是错误的。

文件夹中的图像名称类似于

A-麦克-伴郎-topRight-light.jpg

B-詹姆斯伴郎-topRight-light.jpg

C-贾里德-伴郎-topRight-light.jpg

代码如下。 Firefox中的“li”顺序正确,但Chrome和Safari有时会将最后一个放在首位。然后有时他们没有。虽然我想知道是否可能是bxslider在页面加载后移动的东西?有人以前经历过这个吗?

<?PHP 
    $titleName = 'who\'s 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>

3 个答案:

答案 0 :(得分:1)

显然问题不在于php,而在于BX滑块。问题是它是去克隆幻灯片而不是第一张幻灯片。仅限Chrome和Safari。以下链接讨论了这个问题。

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

那里有效的解决方案是将它添加到jquery.bxslider.css文件中

.bx-viewport li {min-height:1px;最小宽度:1px; }

答案 1 :(得分:0)

尝试

  

齐平()

在echo()之后,确保您要打印的内容在此时被发送到客户端。

答案 2 :(得分:0)

首先,PHP是服务器端语言,浏览器不会影响行为。

所以我想说你的问题是由bxslider引起的,这是一个jQuery插件,因此浏览器可能会影响它的行为。

要检查你是否可以在firefox和chrome中按ctrl + u并看到html是相同的。