我有下面的代码,它从服务器上获取带有图像的目录,并将它们放在网站上,按字母顺序排序。我想把它们按混合顺序排列。Gallery名称是服务器上目录的名称。所以我想的是,如果有一种方法可以把1,2,3,4
放在目录前面,而不是用CSS把名字的第一个字母放在白色,这样数字就不可见了。问题在于如何做到这一点。任何其他建议也欢迎。
以下是PHP代码:
for ($x = $offset_start; $x < sizeof($dirs) && $x < $offset_end; $x++)
{
$offset_current++;
$thumbnails .= $dirs[$x]["html"];
}
这是用于这个元素的css代码:
.gallery em {
color: #000;
font-style: normal;
padding: 2px 5px;
display: block;
position: absolute;
top: 243px;
left: 25px;
font-family:TrajanPro-Regular;
font-size:15px;
color:#796649;
}
它自己的alleries加载了一个tempalte.php,用以下命令调用:<% thumbnails %>
因此,该模板用于显示我需要以混合模式订购的所有不同画廊,仅在主画廊页面上,不需要在画廊1/sub-galery/内。
对于放入ul 的每个目录库
<ul id="files" onload="order();">
<li>Gallery name</li>
<li>Gallery name</li>
<li>Gallery name</li>
</ul>
然后在javascript:中
function order(){
var mylist = $('#files');
var listitems = mylist.children('li').get();
listitems.sort(function(a, b) {
return $(a).text().toUpperCase().localeCompare($(b).text().toUpperCase());
});
$.each(listitems, function(idx, itm) { mylist.append(itm); });
}
如果您有一个目录/映像数组,您可以只使用sort($array)
或natcasesort($array)
。