2012-04-05 2 views
0

Я использую скрипт галереи с эскизами на следующем посте на моем сайтескрипт галереи только функционирует на определенных страницах

http://www.lookbookcookbook.com/2012/03/apple-cinnamon-pancakes.html

Он отлично работает, но когда вы идете на главную страницу (третий пост вниз), он перестает работать. Это потому, что у меня есть другая запись с тем же скриптом, который мешает?

Любая помощь будет очень признательна, спасибо!

+0

Это всего лишь тонна контента. Можете немного сузить его. –

+0

В фактическом посте не основное изображение, а второе большое, когда вы прокручиваете вниз. Рядом с ним находятся три небольших миниатюры. – user1253957

ответ

0

В вашем скрипте используются идентификаторы, предназначенные для показа изображения. Идентификаторы должны быть уникальными, только один элемент может иметь любой заданный Id.

В ваших галереях img используются одни и те же идентификаторы: # pic-0, # pic-1 и т. Д. Таким образом, на клике отображается только первый найденный, img в первой галерее.

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

(это часть кода обработки вашей галереи :)

function myshowImages(id) { 
/* $(".mainPic").hide(); 
$("#pic-"+id).show();*/ 
$('.mainPic').css({'display':'none'}); 
$("#pic-"+id).fadeIn('slow'); 
} 

редактировать после комментариев:

Так, honnestly ваш код немного путаницы, было бы много изменений, чтобы достичь чего-то чистый. Однако для непосредственных потребностей, вы должны использовать две ShowImage функции:

function myshowImages1(id) { 
$('.mainPic1').css({'display':'none'}); 
$("#pic-"+id).fadeIn('slow'); 
} 

function myshowImages2(id) { 
$('.mainPic2').css({'display':'none'}); 
$("#pic-"+id).fadeIn('slow'); 
} 

и редактировать свои ссылки: для первой галереи. для второго.

Имейте в виду, что это уродливое и не масштабируемое: если у вас есть три галереи, это сломается. Я собираюсь посмотреть на ваш код, чтобы узнать, как вы могли бы сделать уникальную функцию.

Edit2:

Таким образом, очиститель функция для использования:

1/установка: выбрал имя класса для каждой пары ссылки/IMG. Per Exemple:

<a href="" class="image_1"> 
<img alt="" height="80" src="(some long path)/lookbookcookbooksaya267b.jpg" title="" width="80"> 
</a> 

ссылка пальца и изображение, чтобы показать:

<a href="(some long path)/lookbookcookbooksaya267.jpg"> 
<img alt="" class="image_1" height="470" src="(some long path)/lookbookcookbooksaya267.jpg"></a> 

Затем я видел у вас есть JQuery, поэтому этот вид функции:

$(document).ready(function() 
{ 
    $(".gallery div div a").on("click",function() 
    { 
    var myClass = $(this).attr('class'); 
    var $parentGallery = $(this).parents('.gallery'); 
    $parentGallery.find("div > a > img").css("display","none").find("myClass").fadeIn(); 
    return false; 
    }); 
}); 

Первый , он связывает событие щелчка на всех ваших ссылках, которые являются двумя глубинами div в элементе .gallery. Это ваши большие пальцы. Нажав кнопку, он выбирает класс ссылки с щелчком большого пальца. Затем он ищет родительскую галерею этой ссылки, скрывает все изображения и показывает хороший.

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

+0

спасибо! я изменил номера, чтобы изображения загружались, но когда я нажимаю миниатюру в одной галерее, основное изображение в другой галерее исчезает. какие-либо предложения? ой, и насколько я могу изменить, я реализовал весь сценарий галереи, поэтому я могу редактировать все это. – user1253957

+0

Это потому, что оба являются .mainPic, поэтому $ ('. MainPic'). Css ({'display': 'none'}); цели оба! – mddw

+0

Я попытался настроить второй на mainPic2 и сделал немного беспорядка. Не могли бы вы взглянуть на меня? – user1253957

Смежные вопросы