Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.05.2011, 14:48
Новичок на форуме
Отправить личное сообщение для SinX Посмотреть профиль Найти все сообщения от SinX
 
Регистрация: 15.05.2011
Сообщений: 4

Подскажите по синтаксису
если у меня

images[1].src=<?=$var[1];?>
images[2].src=<?=$var[2];?>
images[3].src=<?=$var[3];?>

и т.д.,
то как правильно написать цикл
<script>
 for (i=1,i<4, i++)
{

images[i]="<?=$var[." + i + ".];?>

}
</script>

Явно вставить переменную js в php - php не понимает, в $i какое-нибудь
значение i из JS не вставишь, какой должен быть синтаксис?
Ответить с цитированием
  #2 (permalink)  
Старый 19.05.2011, 15:18
Аспирант
Отправить личное сообщение для kostr Посмотреть профиль Найти все сообщения от kostr
 
Регистрация: 12.09.2010
Сообщений: 98

Это вообще на php надо писать. Вот как-то так:
<script>
<?php

for ($i = 0; $i < 4; $i++){
 echo "images[$i]=". $var[$i] .";\n";
}

?>
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 20.05.2011, 00:07
Новичок на форуме
Отправить личное сообщение для SinX Посмотреть профиль Найти все сообщения от SinX
 
Регистрация: 15.05.2011
Сообщений: 4

Поясню:
На j-script написан слайдер, и присвоение переменных php в массив images делается для смены картинок слайдера. На php слайдер работать не будет вообще, разве что обновится при перезагрузке страницы. Но имена файлов картинок берутся из базы с помощью sql-запроса. Поэтому элементам images присваиваются значения переменных php

<? sql="select filename from base...":

...

...?>
<table>
<tr>
<? for (i=0, i<N, i++)
{ ?>
<td><img src="<?=$file[$i];?>" name="p<?=$i;?" ></td>
<? } ?>

<script>
Images ArraY(N);
Images[0].src="<?=$file[0];?>";
Images[1].src="<?=$file[1];?>";
....
Images[N].src="<?=$file[N];?>";


count=0
function preload()
{
for (count=0; count<N, count++)
{
document.p0.src=images(count).src;
.............................

   }
}
</script>

Для того, чтобы не писать вручную N раз присвоение, хочется написать цикл. На js.

Можно написать цикл без php, для постоянных картинок:

for (i=0;i<3;i++)
{
Images.src="p"+i+".jpg";
}


Но для php плюсики не напишешь, и передать дж-с переменную цикла внуть php тоже нельзя.
Вопрос - как написать правильно?
Ответить с цитированием
  #4 (permalink)  
Старый 20.05.2011, 15:50
Аспирант
Отправить личное сообщение для kostr Посмотреть профиль Найти все сообщения от kostr
 
Регистрация: 12.09.2010
Сообщений: 98

SinX,
если у вас вообще файл с php, то цикл можно вписать на php. Или уж обходитесь без него совсем, если можете. Цикла на javascript php не увидит.
Ответить с цитированием
  #5 (permalink)  
Старый 20.05.2011, 21:38
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

SinX,
массив собираете в php
$images = new Array;
for($i=1; $i<4; $i++){
	$images[$i] = $var[$i];
}



потом
echo "<script type = \"text/javascript\">";
echo "var images = eval("."(".json_encode($images).")".");";
echo "</script>";
__________________
readOnly

Последний раз редактировалось poorking, 20.05.2011 в 21:42.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите как сделать автозапрос к БД MasterYoda AJAX и COMET 4 18.04.2011 16:26
подскажите скрипт sc2r2bey Общие вопросы Javascript 2 10.02.2011 11:38
Подскажите плизз с выбором селектора для select option frolvict jQuery 2 13.11.2010 15:29
Подскажите антиобфускатор javascript ? Бобр Общие вопросы Javascript 2 17.02.2010 03:22
Не подскажите, как убрать подчеркивание ссылки href? Forgott Общие вопросы Javascript 1 20.05.2008 11:47