2014-09-01 55 views
0

嗨,大家好我試圖通過這個代碼在漂亮的照片

$('.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捕捉prettyphoto的下一個事件,但它無法正常工作的下一個事件。我想漂亮的照片代碼可能會返回false或stoppropogation那裏。任何幫助?

+0

我想你可以說你沒有考慮足夠大的誤差範圍... – royhowie 2014-09-01 20:55:14

+0

您確定這是正確的課程嗎?畫廊也有.pp_arrow_next和.pp_arrow_previous。 – TheFrozenOne 2014-09-01 20:57:53

回答

0

取決於你如何使用prettyPhoto div層尋找是保持主圖像或視頻等的javascript div層代替該層的在畫廊例如內容(或者通過一個定時器自動OR由用戶點擊上一頁/下一頁)

而不是試圖捕捉「點擊」,專注於「改變」。 (假設你想要一個完全獨立的方法/函數來捕獲它),因爲prettyPhoto初始化的內置參數可以在首次初始化prettyPhoto時調用「changepicturecallback:function(){}」時添加相同的內容,我將在此答案的底部顯示爲「選項2」)

例如在Gallery實現中,您應該在呈現的頁面中看到類似於以下html div id的內容(img名稱和樣式值將會是不同的):

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

項1)對於prettyPhoto INI的外部的單獨的方法tialization - 您可以使用console.log或臨時警報來查看每個div ID上的onchange事件捕獲,以查看哪些工作正常,然後您的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 
});