2012-07-09 62 views
2

我對javascript有點新,因爲我大多隻是在開發網頁時用CSS樣式來玩弄它。CloudZoom with Fancybox

我遇到了嘗試將Fancybox與Cloudzoom集成的問題。我一直試圖按照這裏指示的方向:http://blog.codestars.eu/2010/cloud-zoom-in-der-fancybox/

我能夠得到的效果工作完美,除了一個小錯誤 - 出於某種原因(我所有的圖像在畫廊更容易使用滾動通過fancybox),變焦只能顯示系列中的第一幅圖像。

如果有人能幫我解決這個問題?預覽任何這裏的畫廊:http://bit.ly/LaPzEH

這是我認爲的珍聞只是稍微偏離 - 我認爲這是與在此代碼href行被關閉:

$j('a[rel=gallery]').fancybox({ 
    padding: 0, 
    overlayColor: '#'+$j('#skin_color').val(), 
    transitionIn: 'fade', 
    transitionOut: 'fade', 
    overlayOpacity: .9, 
    onComplete : function(arg) { 
     $('#fancybox-img').wrap(
     $('<a>') 
     .attr('href', $(arg[0]).attr('href')) 
     .addClass('cloud-zoom') 
     .attr('rel', "position: 'inside'") 
    ); 
    $('.cloud-zoom').CloudZoom(); 
} 
}); 

任何一個所有的幫助非常感謝!

編輯:得到它通過改變

$(arg[0]).attr('href') 

努力

this.href 

順便說一句(因爲我無法找到許多cloudzoom /的fancybox線程),你也可以從內部改變位置通過編輯fancybox的JS代碼來讓fancybox內部顯示可見而不是隱藏。

+0

你從哪裏得到'#fancybox-img'? – shorif2000 2013-07-09 09:33:42

+0

你能顯示包括html在內的最終代碼嗎?我似乎無法讓礦井工作。我也使用fancybox畫廊 – shorif2000 2013-07-09 09:35:52

回答

1

如果這個想法是class="cloud-zoom",並與錨相同href屬性是打開的fancybox像

<a href="{same as anchor}" class="cloud-zoom" rel="position: 'inside'"> 
<img id="fancybox-img" src="{big image}" alt=" " /> 
</a> 

包裹#fancybox-img選擇用錨...所以雲變焦可以在工作特定的圖像,然後我會重新寫onComplete回調,如:

'onComplete' : function(){ 
    $('#fancybox-img').wrap(
    $('<a />') 
    .attr('href', this.href) // this.href gets the "href" of the current image 
    .addClass('cloud-zoom') 
    .attr('rel', "position: 'inside'") 
    ); // wrap 
    $('.cloud-zoom').CloudZoom(); 
} // onComplete 

(不知道什麼赫克onComplete : function(arg)會做但在任何情況下,這將是更好地使用'onComplete' : function(currentArray, currentIndex)爲標準的fancybox代碼的緣故)

旁註

  1. 您正在加載的jQuery(1.4.2和1.7.1兩個版本),當你真的需要一個實例(理想情況下是最新版本)以避免意外錯誤。

  2. 您正在使用的fancybox V1.3.0 ......它不會傷害到至少升級到v1.3.4

  3. 設置引號之間所有的fancybox API選項,如

    "padding": 0, // it's OK 0 without quotes (integer and Boolean values go without them) 
    "overlayColor": '#'+$j('#skin_color').val(), 
    "transitionIn": 'fade', 
    "transitionOut": 'fade', 
    "overlayOpacity": .9, 
    "onComplete": ...etc 
    

    有已知問題(主要是IE),因爲(fancybox v1.3。x)

+0

改變工作!非常感謝你幫我解決這個問題。 某些代碼(jQuery和fancybox)有點過時的原因是因爲我準備好了這些已經安裝好的插件並需要做進一步的自定義。我不想更新到最新版本,並且冒着將所有自定義代碼內置到插件中的風險。再次感謝! – dtsek 2012-07-09 19:44:36

+0

這對fancybox 2不起作用。我一直在嘗試。也有人不斷地結束我的帖子,每次我提出一個問題。我如何使它與畫廊合作? – shorif2000 2013-07-09 10:09:09