Здравствуйте, Требуется сделать один сайт, основанный на mootools. Суть такая. Есть папка с картинками, которых предполагается очень много. Они все одного разрешения (800*600). На страничке есть рамка (div) в которую грузятся картинки с какой-то периодичностью. Я сделал следующее: Код (Text): if ($_GET['mode'] == 'get_random_image') { $dir = $_SERVER['DOCUMENT_ROOT'] . '/images/'; $dir_pointer = opendir($dir); $count = 0; $result_array = array(); while ($data = readdir($dir_pointer)) { if ($data != "." && $data != "..") { $result_array[$count] = $data; $count++; } } shuffle($result_array); $array_count_values = count($result_array); $random_value = mt_rand(0, $array_count_values); $result = array(); $result['path'] = "D:\\Server\\www\\83\\images\\"; $result['msg'] = $result_array[$random_value]; $result['result'] = true; die(json_encode($result)); } [js] function get_random_image() { options = { url: 'includes/ajax.php?mode=get_random_image', onSuccess: function (result) { if (result['result']) { var photo_html = "<img id=\"photo\" src=\"images\/"+ result['msg']+"\" alt=\"\" />"; $('photogallery').set('html', photo_html); var elem = $('photo'); var random_number = rand(0, 1); var directions = new Array('horizontal', 'vertical'); var dir = directions[random_number]; var slide_effect = new Fx.Slide(elem, {mode: dir, duration: 2000}).hide(); slide_effect.toggle(); } else { alert(result['error']); } } } new Request.JSON(options).send(); } [/js] Функция rand определена вот так: [js] function rand( min, max ) { if( max ) { return Math.floor(Math.random() * (max - min + 1)) + min; } else { return Math.floor(Math.random() * (min + 1)); } } [/js] По непонятной причине иногда идёт пропуск картинки, что совершенно недопустимо. Т.е. всё срабатывает, даже когда я алертом выводил отладочные данные, был адрес картинки. Т.е. она точно есть, но не подгружается... С чего бы такое поведение?...
ну может не успевает =) сначала грузите, потом включайте. т.е. включаем ту, что уже загружена, и начинаем подгружать новую. Тогда небось прокатит.
Так у меня загрузка уже слайдом идёт... что-то я не понял, что за чем вы хотите чтобы шло... Или прелоад изображений сделать? А если их будет штук 500? (а так и планируется, в принципе)