2014-04-05 206 views
1
  1. 我使用的是Nivo Lightbox插件。我也在使用CMS超現實主義。我希望客戶能夠在Nivo燈箱幻燈片中更改圖像的標題。以幻燈片的標題在圍繞圖像標籤的錨標記被賦予與title屬性聲明的幻燈片顯示的標題:將alt屬性添加到燈箱幻燈片標題?

    <a href="images/1.jpg" title="Untitled 2013" data-lightbox-gallery="gallery1"><img  src="images/1.jpg" /></a> 
    
  2. 的CMS編輯器只提供客戶端編輯ALT選項圖像的屬性。因此,我需要將錨點的title屬性交換到圖像的alt標記。

問題:如何將幻燈片鏈接的標題改爲圖片標記的alt屬性,而不是圍繞它的定位標題屬性?

回答

0

我在插件中找不到任何選項;在不改變HTML(或DOM更改)的情況下,我的實際解決方案(但我認爲可以改進)是使用beforeShowLightboxafterShowLightbox事件來獲取子項img alt屬性並將其設置在Lightbox標題中。

代碼:

var altText; 
$(document).ready(function() { 
    $('#nivo-lightbox-demo a').nivoLightbox({ 
     effect: 'fade', 
     beforeShowLightbox: function() { 
      altText = $($(this)[0].el).find('img').prop('alt'); 
     }, 
     afterShowLightbox: function (light) { 
      if (altText!=="") $($(light)[0]).find('.nivo-lightbox-title').html(altText); 
     } 
    }); 
}); 

演示:http://jsfiddle.net/IrvinDominin/MH8mu/

+0

謝謝,我試圖使用你的代碼,但它不適合我。也許你可以看看我的網頁,看看我在做什麼錯誤http://intelligen.info/pro%20templates/template%20grid%20center/ – angela

+0

@angela好吧,我看到這個傳說沒有創建,你能嘗試在標題屬性中設置 值? –

+0

偉大的工作!謝謝 – angela

0

使用jQuery: $('[data-lightbox-gallery] img').attr('alt', $('[data-lightbox-gallery] img').parent().attr('title'));

後來編輯:我不知道如果我missunderstood你,但好像你想要的正是相反的事我已經寫道:

$('[data-lightbox-gallery]').each(function(){ $(this).attr('title', $(this).children('img').attr('alt')); }

+0

['.prop()''VS .attr()'](http://stackoverflow.com/a/5876747/247893) – h2ooooooo

+1

'('[data-lightbox-gallery] img')。each(function(){$(this).attr('alt',$('[data-lightbox-gallery] img')。parent()。 attr('title'));})' – n1kkou

0

要不改變CMS既不是燈箱插件代碼,我會使用watchplugin得到注意,每當alt屬性已更改,並在此之後更改title屬性。