Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.11.2013, 23:32
Новичок на форуме
Отправить личное сообщение для Alexey922 Посмотреть профиль Найти все сообщения от Alexey922
 
Регистрация: 18.11.2013
Сообщений: 2

Смена изображений по клику
Доброго времени суток.

Имеется php цикл вывода картинок

include ("config.php");

$nid=20;///к примеру

$photo = mysql_query ("SELECT * FROM files WHERE newsid='$nid' "); 
while($wphoto=mysql_fetch_array($photo))      {

echo 'files/'.$wphoto['filename'].' - '.$wphoto['id'].'</br>';

$a="'files/".$wphoto['filename']."'";

}


Результат примерно такой:

Код:
files/a103bfba945f183f374f7e3f3b610e42.jpg - 25
files/3c120e910a296ebd276d7800aca473ec.jpg - 26
files/5f57980c4a7f6665d7d140bfe78842a7.jpg - 27
files/e0570a3768d1aa4345cc2837854c77f6.jpg - 32
как видно id может идти не по порядку, поэтому id++ не подходит

нужно сделать так чтобы выводилась первая, а при нажатии на нее следующая, следующая, и так далее по кругу.

как я понял нужно как-то этот массив передать поочередно в яваскрипт, возможно нужно использовать JSON? объясните хотябы принцип как это можно сделать,

прикладываю основу скрипта, это подмена картинки когда мы знаем конкретно ее адрес, проще говоря вывод картинки по нажатию на нее, а мне нужно чтобы по нажатию выводилась следующая из массива, и так по кругу

<script type="text/javascript">

function l_image (a, id) 
{

document.getElementById(id).src=a
} 
</script>


А вот так вызываем скрипт(изображений несколько, поэтому ссыки разные)
<a href="javascript:l_image('.$a.', '.$nid.')"; "><img src="files/preview/'.$wphoto['filename'].'" height="11%" ></a>
Ответить с цитированием
  #2 (permalink)  
Старый 19.11.2013, 07:25
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,772

Сообщение от Alexey922
нужно сделать так чтобы выводилась первая, а при нажатии на нее следующая, следующая, и так далее по кругу.
Как вариант, запиши все пути в массив и работай потом с этим массивом...
Ответить с цитированием
  #3 (permalink)  
Старый 19.11.2013, 08:01
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,812

include ("config.php");

$nid=20;///к примеру

$photo = mysql_query ("SELECT * FROM files WHERE newsid='$nid' "); 

$result = '[';
while($wphoto=mysql_fetch_array($photo))
$result .= '{"file":"files/'.$wphoto['filename'].'","id":"'.$wphoto['id'].'"},';

echo rtrim($result,',') . ']';
__________________
.
Ответить с цитированием
  #4 (permalink)  
Старый 19.11.2013, 09:45
Новичок на форуме
Отправить личное сообщение для Alexey922 Посмотреть профиль Найти все сообщения от Alexey922
 
Регистрация: 18.11.2013
Сообщений: 2

Получился массив

[{"file":"files/a103bfba945f183f374f7e3f3b610e42","id":"25 "},
{"file":"files/3c120e910a296ebd276d7800aca473ec","id":"26 "},
{"file":"files/5f57980c4a7f6665d7d140bfe78842a7","id":"27 "},
{"file":"files/88667d6ae45d34c5e46ae6c532eae773","id":"32 "},]


А что с ним делать дальше? Признаюсь я в яваскрипте слаб, но что-то мне подсказывает что нужно использовать цикл for, или я ошибаюсь?
Ответить с цитированием
  #5 (permalink)  
Старый 19.11.2013, 11:13
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,772

Сообщение от Alexey922
что-то мне подсказывает что нужно использовать цикл for, или я ошибаюсь?
Ошибаешся.

Сообщение от Alexey922
нужно сделать так чтобы выводилась первая, а при нажатии на нее следующая, следующая, и так далее по кругу
Какой же тут цикл?
Просто некие действия при срабатывании события...

Сообщение от Alexey922
А что с ним делать дальше?
Первый УРЛ пусть использует ПХП - создает картинку. Как вариант, той картинке дать атрибут с порядковым номером той картинки - 0.
Далее навесить событие click(), по которому:
- читать тот номер
- увеличивать на 1
- если больше длины массива - приравнивать к 0
- брать следующий УРЛ из массива
- менять атрибуты (или свойства) у картинки
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена изображений автоматом и по кнопкам Nina_2012 Общие вопросы Javascript 2 03.07.2012 18:03
Случайная смена изображений sinclairB jQuery 5 24.11.2011 09:26
Повременная смена изображений jozev Элементы интерфейса 2 01.08.2011 17:43
смена изображений sweetj jQuery 4 07.12.2010 09:52
Подгрузка изображений по клику CompModdd Общие вопросы Javascript 17 30.04.2009 01:39