2011-08-22 97 views
0

我有使用jQuery插件循環嵌套幻燈片所構成的畫廊。我希望基於alt文字的標題顯示在幻燈片中的每個圖像上,但我不知道腳本中的哪個位置需要激活。如果有人能幫忙,我會非常感激。謝謝!添加標題嵌套循環的Jquery

//stop subgal initially 
      $('#hovergal .subgal').cycle({ 
       fx: 'fade', 
       timeout: 10000, 
       slideExpr: 'img' 
      }).cycle('pause'); 

      //start subgal on click 
      $('#hovergal').cycle({ 
       fx: 'scrollUp', 
       speed: 300, 
       timeout: 0, 
       slideExpr: '>div.subgal', 
       pager: 1, 
       pagerAnchorBuilder: function(i) { 
        return $('aside.sgnav a:eq(' + i + ')'); 
       }, 
       after: function(curr,next,opts) { 
        var cmd = opts.currSlide == 1 ? 'resume' : 'pause'; 
        $('div.subgal').cycle(cmd); 
       } 
      }); 
    } else {//else, if there's only one gallery to be shown 

     $('#hovergal .subgal').cycle({ 
      fx: 'fade', 
      timeout: 3000, 
      slideExpr: 'img' 
     }); 
    } 

回答

0

我猜每個人都如鯁因爲我,因爲我一直在試圖找到沒有運氣這個問題兩週的答案。我放棄了試圖在Jquery.Cycle的參數中解決它,而是改變了我的畫廊從列表而不是divs構建,每個列表項都包含一個標題容器,它從alt標記中提取內容。完成之後,我只需將slideExpr更改爲列表,然後瞧。

此方法仍不理想的,因爲我不得不構造,它檢查在頁加載每個字幕容器,確定是否有任何內容的第二Jquery的聲明,並隱藏它,如果它是空的。但它有效,在這一點上,我真的只關心它。

也許有人會與真正的答案,這個問題有一天一起走。與此同時,我將在此留給任何可能遇到同樣困難的人。

0

我覺得這沒有什麼與週期插件專做。 如果你的罰款與這些線路,你只需要在$添加函數(文件)。就緒(函數(){},像

$('.slideshow img').each(function(){ 
    var el = $(this); 
    var alttext = el.attr('alt'); 
    el.after('<span>'+alttext+'</span>'); 
}); 

這個直接的形象和你之後追加的替代文本可以把它定位使用CSS absolutey。 你可能需要這個適應你的結構,也可以不和的img「el.after」,但

$('.slideshow img').each(function(){ 
    var el = $(this); 
    var parentdiv = el.parents('div:eq(0)'); 
    var alttext = el.attr('alt'); 
    parentdiv.append('<span>'+alttext+'</span>'); 
}); 

左右。 的工作例如,你可以在這裏找到(我後從今天) Jquery Cycle —multiple nested slideshows and cycle terminating 或這裏 http://ferienhaus-fischland-ahrenshoop.de/mini4/這個項目完成後後需要刪除mini4/ 任何疑問歡迎,greetinx,邁克爾