Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
JavaScript : список урлов для галереи
Новая тема
Ответить
цитата
07/03/11 в 12:02
Vyacheslav
Есть скрипт на php, который динамически генерит пиксовую галерею с произвольным кол-вом фоток. Т.е. фактически есть список:
http://url/imgXXX.jpg
http://url/imgYYY.jpg
http://url/imgZZZ.jpg
...
http://url/imgNNN.jpg
Как организовать на JavaScript скрипт, который может схавать этот лист и потом можно будет на галерее содать 2 кнопки PreviousPicture, NextPicture?? При на жатии на которые будет осуществляться переход по этому списку.
цитата
07/03/11 в 14:39
Yacc
Код:
<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>
цитата
07/03/11 в 17:31
Vyacheslav
Ок
А в случае со 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..
цитата
07/03/11 в 18:04
Yacc
К сожалению (или к счастью
) я понятия не имею, что такое смарти.
На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.
цитата
08/03/11 в 20:28
Vyacheslav
Yacc:
Шаришь!
Спасибо!
Новая тема
Ответить
Эта страница в полной версии