Вход

Просмотр полной версии : Обращение к элементам с одинаковыми id и действия с ними??


ViktorZ
27.10.2010, 15:34
Доброго дня!

Есть плагин jQuery Touchwipe Plugin.
Основная функция:

$(document).ready(function() {

$("#imagegallery").touchwipe({
wipeLeft: function() {
$("#imagegallery").cycle("next");
},
wipeRight: function() {
$("#imagegallery").cycle("prev");
}
});

$('#imagegallery').cycle({
timeout: 0,
fx: 'scrollHorz',
next: '#next',
prev: '#prev'
});

});

То есть прокручиваем div с id=imagegallery.
Если я сделаю несколько div'ов с таким id, как мне указать какой из них именно прокручивать?

e1f
27.10.2010, 15:36
Используйте класс вместо id.

ksa
27.10.2010, 15:40
ViktorZ, использование нескольких элементов с одним ИД не валидно...

ViktorZ
27.10.2010, 15:52
Если у меня несколько id будет, то получается под каждый нужна будет своя функция? С классами вы имеете ввиду проверять touchwipe на общем классе и смотреть id. Пробовал, почему-то не могу получить id вызывающего класса...

monolithed
27.10.2010, 16:08
ViktorZ

не говорите ерунды, вам же сказали используйте классы, или же инкрементируйте порядковый номер для id.
В конце концов что мешает вам сделать так:

$('#imagegallery1, #imagegallery2').cycle({
timeout: 0,
fx: 'scrollHorz',
next: '#next',
prev: '#prev'
});

а лучше так:

$('.imagegallery').cycle({
timeout: 0,
fx: 'scrollHorz',
next: '#next',
prev: '#prev'
});

или так:

$('#imagegallery'+i).cycle({ //i-инкрементрирование
timeout: 0,
fx: 'scrollHorz',
next: '#next',
prev: '#prev'
});

ViktorZ
27.10.2010, 16:08
Получается что вопрос в том, чтобы передать id div'а инициатора в метод...как то так...
$(document).ready(function() {

$("div.class1").touchwipe({
wipeLeft: function() {
$("#id_div_иниц").cycle("next");
},
wipeRight: function() {
$("#id_div_иниц").cycle("prev");
}
});

$('#id_div_иниц').cycle({
timeout: 0,
fx: 'scrollHorz',
next: '#next',
prev: '#prev'
});

});

ViktorZ
27.10.2010, 16:22
Не понимаю...

Допустим у меня так..


<div id="g3" class="gallery">
<img>
<img>
<img>
</div>
<div id="g2" class="gallery">
<img>
<img>
<img>
</div>


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

если следовать вашему первому варианту - не эффективно выписывать все id.

второй не поможет, крутиться будет все...

третий - сводится к моему же вопросу как передать id...

Aetae
27.10.2010, 16:30
id - это уникальный идентификатор, лол.
А чтоб эффективно было надо самому писать. Плагин не расчитывался на over9000 дивов. Иначе чем все по очереди не передашь, хотябы элементарно не переписывая.

ViktorZ
27.10.2010, 16:34
в крайнем примере они уникальные как раз.