нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 07/03/11 в 12:02 |
Есть скрипт на php, который динамически генерит пиксовую галерею с произвольным кол-вом фоток. Т.е. фактически есть список:
http://url/imgXXX.jpg
http://url/imgYYY.jpg
http://url/imgZZZ.jpg
...
http://url/imgNNN.jpg
Как организовать на JavaScript скрипт, который может схавать этот лист и потом можно будет на галерее содать 2 кнопки PreviousPicture, NextPicture?? При на жатии на которые будет осуществляться переход по этому списку.
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 07/03/11 в 14:39 |
Код: | <div>
<img id="gi" src=""/>
<input type="button" value="Prev" onclick="try{cur = cur > 0 ? cur - 1 : urls.length - 1; document.getElementById('gi').src = urls[cur];} catch(e){}";/>
<input type="button" value="Next" onclick="try{cur = cur < urls.length - 1 ? cur + 1 : 0; document.getElementById('gi').src = urls[cur];} catch(e){}";/>
<script>
<?php
$arr = array( 'a.jpg', 'b.jpg', 'c.jpg' );
echo 'var urls = new Array( '.implode( ",", array_map( create_function( '$u', 'return \'"\'.$u.\'"\';' ), $arr ) ).' );';
?>
var cur = 0;
document.getElementById('gi').src = urls[cur];
</script>
</div> |
|
|
|
|
нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 07/03/11 в 17:31 |
Ок
А в случае со Smarty (без php)..
Есть возможность например создать массив:
Код: | <script type=JavaScript>
var myArray = new Array()
{{foreach name=data item=item from=$data}}
myArray[{{$item.id}}] = '{{$item.url}}'
{{/foreach}}
</script> |
Где {{$item.id}} - счётчик от 0 до колва урлов пикс, {{$item.url}} - собственно сами урлы..
И как-то теперь организовать "назад", "вперёд" по массиву myArray..
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 07/03/11 в 18:04 |
К сожалению (или к счастью ) я понятия не имею, что такое смарти.
Наcколько я могу судить вот так должно работать:
Код: | <div>
<img id="gi" src=""/>
<input type="button" value="Prev" onclick="try{cur = cur > 0 ? cur - 1 : urls.length - 1; document.getElementById('gi').src = urls[cur];} catch(e){}";/>
<input type="button" value="Next" onclick="try{cur = cur < urls.length - 1 ? cur + 1 : 0; document.getElementById('gi').src = urls[cur];} catch(e){}";/>
<script>
var urls = new Array();
{{foreach name=data item=item from=$data}}
urls.push( '{{$item.url}}' );
{{/foreach}}
var cur = 0;
document.getElementById('gi').src = urls[cur];
</script>
</div> |
Я сменил название массива с myArray на urls.
|
|
|
|
нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 08/03/11 в 20:28 |
Yacc: Шаришь!
Спасибо!
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |