【发布时间】:2011-08-16 09:53:35
【问题描述】:
我正在尝试使用基于 jQuery 的 Photo Stack,它使用以下代码:
$ps_albums.children('div').bind('click',function(){
var $elem = $(this);
var album_name = 'album' + parseInt($elem.index() + 1);
//alert(album_name);
var $loading = $('<div />',{className:'loading'});
$elem.append($loading);
$ps_container.find('img').remove();
$.get('corrective.php', {album_name:album_name} , function(data) {
var items_count = data.length;
for(var i = 0; i < items_count; ++i) {
var item_source = data[i];
//alert(item_source);
var cnt = 0;
$('<img />').load(function(){
var $image = $(this);
++cnt;
resizeCenterImage($image);
$ps_container.append($image);
var r = Math.floor(Math.random()*41)-20;
if(cnt < items_count) {
$image.css({
'-moz-transform' :'rotate('+r+'deg)',
'-webkit-transform' :'rotate('+r+'deg)',
'transform' :'rotate('+r+'deg)'
});
}
if(cnt == items_count){
$loading.remove();
$ps_container.show();
$ps_close.show();
$ps_overlay.show();
}
}).attr('src',item_source);
}
},'json');
});
coorective.php如下:
$location = 'corrective';
$album_name = $_GET['album_name'];
$files = glob($location . '/' . $album_name . '/*.{jpg,gif,png}', GLOB_BRACE);
$encoded = json_encode($files);
echo $encoded;
unset($encoded);
上面的 javascript 代码以随机顺序显示相册中的图像,这可能是由以下行触发的:
var r = Math.floor(Math.random()*41)-20;
我已将其更改为:
var r = "";
现在,当第一次加载图像时,它们仍然以随机顺序显示,但第二次加载它们遵循顺序显示,例如0001.jpg、0002.jpg、0003.jpg 等。
如何在每次加载图像时显示顺序 - 即使是第一次加载?
【问题讨论】:
标签: php javascript jquery random