Делаю галлерею. Функция move() почему-то получает массив как undefined. Т.е. как будто массив jsArr вовсе не был создан, где ошибка?
Переменные:
windows.cur - индекс фотографии в массиве
windows.max - максимум длина массива с фотками
Функции:
move(): получает сдвиг (1 или -1) и массив фоток.
Выводит соответствующую фотку.
bigPic():выводит большую фотку в <div id="bigSample"></div>
В <body>:
Создается массив (позже будет массив из БД).
Выводится весь массив маленьких фоток.
В скрипте создаю массив JS в который переносится массив PHP.
В форме, в зависимости от нажатия ('<' или '>') вызываем функцию move() с заданным сдвигом. Вот код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script type="text/javascript">
window.cur = 0;
window.max = 7;
function move(num, arr){
alert(arr);
window.cur += num;
if(window.cur<0) {window.cur = 0;}
if(window.cur > window.max) {window.cur = window.max;}
document.getElementById("bigSample").innerHTML="<img src='img/" + arr[window.cur] + "' width='500' height='350' >";
}
</script>
</head>
<body onload="firstLoad('img/belka.jpg')">
<div id="bigSample"></div>
<?php
$img_arr=array();
$img_arr[0] = 'belka.jpg';
$img_arr[1] = 'les.jpg';
$img_arr[2] = 'barsuk.jpg';
$img_arr[3] = 'gora.jpg';
$img_arr[4] = 'most.jpg';
$img_arr[5] = 'nebo.jpg';
$img_arr[6] = 'palma.jpg';
$img_arr[7] = 'sneg.jpg';
?>
<?php
$path='img/';
foreach($img_arr as $img){
?><img src="<?php echo $path.$img; ?>" width="55" height="70" onclick='bigPic("<?php echo $path.$img; ?>")' />
<?php }
?>
<script type="text/javascript">
var jsArr = new Array(<?php echo implode(', ', $img_arr); ?>);
</script>
<form>
<input type="button" name="backward" value="<" onClick="move(-1, jsArr)" />
<input type="button" name="forward" value=">" onClick="move(+1, jsArr)"/>
</form>
</body>
</html>