Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблемы с переключением картинок в слайдере
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Проблемы с переключением картинок в слайдере

Страниц (1): [1]
 

1. teddy - 22 Июля, 2013 - 13:57:41 - перейти к сообщению
Добрый день... решил написать слайдер на js, возникла проблема, никак не могу понять из за чего... Вроде все происходит так как я хочу, но визуального эффекта не наблюдаю... А именно, при вызове функции nextPhoto() индекс фотографии должен увеличиваться, соответственно должна меняться фотография, но почему то этого не происходит.

CODE (javascript):
скопировать код в буфер обмена
  1. <script type="text/javascript">
  2. var photo = 0;
  3.  
  4. window.onload = function()
  5. {
  6.        
  7.     //var arr = new Array("0.jpg", "1.jpg", "2.jpg", "3.jpg");
  8.        var img = document.createElement('IMG');
  9.        img.className = 'images'
  10.                        
  11.        img.src = "images/"+photo+".jpg";
  12.        document.body.appendChild(img);
  13.                
  14. }
  15.  
  16. function nextPhoto()
  17. {
  18.      photo++;
  19.      alert(photo);
  20.  
  21. }      
  22.  
  23. </script>
  24. <input type="button" value="Вперед" onclick="javascript:nextPhoto();">

Тоесть есть переменная photo, которая должна увеличиваться при вызове функции nextPhoto(); - алертом когда проверяю, её индекс меняется, соответственно должно меняться и фото, но оно остается неизменно. Всегда показывает фото под названием 0.jpg А при клике должно быть уже показано 1.jpg. Подскажите, пожалуйста, почему так?
2. soffrick - 22 Июля, 2013 - 14:03:28 - перейти к сообщению
ты просто меняешь переменную, меняй еще и путь и должно заработать
(Добавление)
HTML пишет:
Спойлер (Отобразить)
3. teddy - 22 Июля, 2013 - 14:07:24 - перейти к сообщению
soffrick
Думаешь я не пробовал? )) Не срабатывает.
4. soffrick - 22 Июля, 2013 - 14:09:44 - перейти к сообщению
смотри в фаербаге пути, у меня меняются Однако
5. teddy - 22 Июля, 2013 - 14:11:04 - перейти к сообщению
Пути верно указаны, в том то и дело... я со вчерашнего дня не могу понять почему не меняется фото
6. soffrick - 22 Июля, 2013 - 14:13:12 - перейти к сообщению
ну ты брось, попробуй:
Спойлер (Отобразить)

всё робит
7. IllusionMH - 22 Июля, 2013 - 14:17:02 - перейти к сообщению
teddy, а чего фото должно меняться если функция с созданием выполниться один раз?
Каждый раз нужно не только менять индекс в функции nextPhoto но и выполнять изменение пути
8. teddy - 22 Июля, 2013 - 14:17:06 - перейти к сообщению
soffrick пишет:
всё робит

Блин, мне что, тебе видеоДоказательство записать что не работает? ))
(Добавление)
soffrick
Последний пример сработал, спасибо. Но... тот код который я изначально прислал был без массива. Т.е он был, но закоментен(это от старой версии осталось)

Походу так как я хотел - работать не будет... Если так, то вопросов нет
9. soffrick - 22 Июля, 2013 - 14:35:31 - перейти к сообщению
teddy пишет:
Походу так как я хотел - работать не будет...

так:
Спойлер (Отобразить)

?
(Добавление)
first (curIndex) пишет:
CODE (html):
скопировать код в буфер обмена
  1. <img class="images" src="images/0.jpg">

last (maxIndex) пишет:
CODE (html):
скопировать код в буфер обмена
  1. <img class="images" src="images/3.jpg">
10. teddy - 22 Июля, 2013 - 14:58:16 - перейти к сообщению
soffrick
Работает, спасибо -) я понял в чем конкретно была ошибка. У меня IMG создавался уже после загрузки окна. Нужно было просто var img = document.createElement('IMG'); вынести за пределы window.onload

 

Powered by ExBB FM 1.0 RC1