Написал простенький скрипт для галереи в карточке товара: Код (CODE): $(document).ready(function() { var i = $('.model').attr('id'); $('#'+i+' .small a').click(function(eventObject){ $('#'+i+' .big img').hide().attr('src', $(this).attr('href')); $('#'+i+' .big img').load(function(){ $(this).fadeIn(500); }); eventObject.preventDefault(); }); }); $('div[class=model]').attr('id') - получаем значение ID элемента-контейнера (блок class=module) карточки товара. На странице каждая карточка товара имеет свой ID - заполняется из поля ID в базе. Всё работает, но только на первом выводе. В остальных карточках товаров галерея не работает (картинки просто открываются в новом окне...). ПОДСКАЖИТЕ, ГДЕ ОШИБКА? Код (html): <div class="model" id="<?php echo $modelRow['id'] ?>"> <div class="model-image"> <div class="model-image-slider"> <div class="big"> <img src="<?php echo $modelRow['image_1'] ?>" /> </div> <div class="small"> <a href="<?php echo $modelRow['image_1'] ?>"><img src="<?php echo $modelRow['image_small_1'] ?>" /></a> <a href="<?php echo $modelRow['image_2'] ?>"><img src="<?php echo $modelRow['image_small_2'] ?>" /></a> <a href="<?php echo $modelRow['image_3'] ?>"><img src="<?php echo $modelRow['image_small_3'] ?>" /></a> </div> </div> </div> </div>
Код (CODE): $(document).ready(function() { $('.model').each(function(){ var i = $(this).attr('id'); $('#'+i+' .small a').click(function(eventObject){ $('#'+i+' .big img').hide().attr('src', $(this).attr('href')); $('#'+i+' .big img').load(function(){ $(this).fadeIn(500); }); eventObject.preventDefault(); }); }); });