2014-09-01 2 views
0

Привет ребят я пытаюсь захватить следующее событие prettyphoto этого кодомНа следующем случае довольно фото

$('.pp_next').on('click',function(){ 
     console.log('next'+Math.random()); 
     return false; 
    }); 

http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/#prettyPhoto, но он не работает. Я думаю, что довольно фотокодек мог бы вернуть false или stoppropogation там. любая помощь?

+0

Я думаю, вы могли бы сказать, что вы не учли достаточно большой запас ошибки ... – royhowie

+0

Вы уверены, что это подходящий класс? Для галерей также есть .pp_arrow_next и .pp_arrow_previous. – TheFrozenOne

ответ

0

В зависимости от того, как вы используете prettyPhoto, слой div для поиска - это слой div, который содержит основное изображение или видео и т. Д. Javascript заменяет содержимое этого слоя в галерее, например (либо автоматически через таймер ИЛИ путем нажатия на кнопку «предыдущая/следующая»)

Вместо того чтобы пытаться захватить «щелчок», сосредоточьтесь конкретно на «изменении». (Предполагая, что вы хотите полностью использовать отдельный метод/функцию, чтобы поймать это. Поскольку есть встроенный параметр инициализации prettyPhoto, который делает то же самое, что можно добавить при первой инициализации prettyPhoto, называемой «changepicturecallback: function() {}», который я покажу как «варианты 2» внизу этого ответа)

Например, при реализации Gallery вы должны увидеть что-то похожее на следующие идентификаторы div html на отображаемой странице (значения img и значения стиля будут быть разными):

<div id="pp_full_res"> 
    <img id="fullResImage" src="/image.jpg" 
    style="height: 375px; width: 500px;" /> 
</div> 

Вариант 1) Для отдельного метода за пределами prettyPhoto INI tialization. Вы можете попробовать захват события onchange на каждом из этих идентификаторов div с помощью вашего console.log или временного предупреждения, чтобы увидеть, что работает, а затем ваш jQuery-метод должен работать. Что-то вроде:

$('#fullResImage').on('change',function(){ 
    console.log('next'+Math.random()); 
    return false; 
}); 

или

$('#fullResImage').change(function() { 
    alert("Handler for .change() called."); 
    return false; 
});  

После того, как вы получили OnChange идентифицирован, то вы можете прикрепить что-нибудь или изменить DOM.

Вариант 2)Встроенного Параметр версия Использование Альтернативный встроенный параметр, который может быть добавлен на инициализацию, как так:

$("#theDivLayerToAttachPrettyPhoto").prettyPhoto({ 
     animation_speed: 'fast', /* fast/slow/normal */ 
     slideshow: 5000, /* false OR interval time in ms */ 
     autoplay_slideshow: false, /* true/false */ 

     /* changepicturecallback Called every time an item is shown/changed */ 
     changepicturecallback: function(){ 
      console.log('next'+Math.random()); 
     }, 
     autoplay: true /* Automatically start videos: True/False */ 
     //etc. other settings for your intialization 
}); 
Смежные вопросы