Javascript.RU

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

Не могу настроить выборку элементов из массива
Моя первая работа с массивами. До этого делал на jquery только простейшие вещи вроде выпадающих списков и модальных окон.

Суть проблемы: в массиве сложены классы элементов. Цикл перебирает элементы по одному. Что я хотел получить - изображения должны исчезать одно за другим. А на деле - исчезает лишь первое изображение.

Вроде бы простяцкая задача. Но сижу уже третий час и не могу понять, в чем проблема. Цикл не работает.
Ответить с цитированием
  #2 (permalink)  
Старый 11.07.2014, 16:22
Новичок на форуме
Отправить личное сообщение для menscool Посмотреть профиль Найти все сообщения от menscool
 
Регистрация: 11.07.2014
Сообщений: 3

Ах да, вот код:

<script>
$(document).ready(function(){
var slides = new Array("0","1","2","3","4");

for(i=0;i<slides.length;i++){
if($('img').attr('class') == slides[i]){
a = "img." + String(slides[i]);
$(a).hide(1000);
};
};


});
</script>
<body>

<div class="wrapper">
<div id="slideshow">
<div id="slideshow-image-wrapper">
<img class="0" src="img/image1.jpg" alt="image1"/>
<img class="1" src="img/image2.jpg" alt="image2"/>
<img class="2" src="img/image3.jpg" alt="image3"/>
<img class="3" src="img/image4.jpg" alt="image4"/>
<img class="4" src="img/image5.jpg" alt="image5"/>
</div>
</div>
</div>

</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 11.07.2014, 18:37
Интересующийся
Отправить личное сообщение для Good_Good Посмотреть профиль Найти все сообщения от Good_Good
 
Регистрация: 20.02.2014
Сообщений: 16

menscool,
Возможно из-за того, что у тебя "a" не объявлена
Ответить с цитированием
  #4 (permalink)  
Старый 11.07.2014, 18:53
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

menscool, вот смотри, в 5-й строчке:
$('img').attr('class')

Взять все элементы <img> и получить у них значение атрибута class. Очевидно, что у каждой картинки может быть свой класс. И, по-хорошему, тут надо бы бросить ошибку, потому что логика тут явно нарушена. Но jQuery не такая: она возвращает атрибут первой картинки. Вообще, странное условие, не понятно, чего ты хотел этим сказать. Но условие срабатывает только для первого элемента массива.
Ответить с цитированием
  #5 (permalink)  
Старый 11.07.2014, 21:19
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Имя класса нельзя начинать с цифры.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена элементов массива элементами массива prostoix Javascript под браузер 4 24.10.2013 17:36
Фотогалерея на jQuery, сопоставление массива элементов weber jQuery 3 24.10.2013 02:06
Вывод случайных элементов из массива в таблицу Narm0 Общие вопросы Javascript 10 06.08.2013 12:39
Определить количество отрицательных элементов массива Тип_1 Общие вопросы Javascript 3 25.06.2012 18:24
вставка элементов массива в текстовую форму по клику olezyk Общие вопросы Javascript 3 21.03.2009 22:01