2014-06-25 152 views
4

使用爲每張幻燈片提供音頻文件的flexslider,但我不想立即在頁面上加載無數音頻文件。所以我試着去獲取數據-SRC每張幻燈片通過jquery將data-src更改爲src

幻燈片後成爲SRC目前如下:

<div class="flexslider carousel"> 
<ul class="slides"> 
<li> 
<img src="http://www.quinnmedical.com/skin/frontend/gigasavvy/quinn/ppt/Slide01.jpg" /> 
<audio id="demo" controls> 
    <source src="/skin/frontend/gigasavvy/quinn/audio/Slide1.mp3" type="audio/mpeg" /> 
</audio> 
</li> 
<li> 
<img src="http://www.quinnmedical.com/skin/frontend/gigasavvy/quinn/ppt/Slide03.jpg" /> 
<audio id="demo" controls> 
    <source data-src="/skin/frontend/gigasavvy/quinn/audio/Slide3.mp3" src="" type="audio/mpeg" /> 
</audio> 
</li> 
</ul> 
</div> 

在功能後,我想改變的數據SRC爲src。任何幫助將不勝感激,如何從數據SRC去SRC

+0

你不能改變它。你所能做的就是添加一個新屬性並刪除前一個屬性。 –

+0

我認爲更好的解決方案是設置

回答

1

重命名屬性將不可能。您可以創建新的屬性並刪除舊的屬性。假設如果有一個點擊事件,它將成爲可能,如下所示。請根據您的要求舉辦活動。

$('#demo').on("click", "img", function() { 
    var t = this; 
    var source = $(t).children("source");   
    $source.attr({ 
     src: $t.attr('data-src') 

    }).removeAttr('data-src'); 
} 
+0

非常感謝你,拯救了這一天。我有37張帶有音頻文件的幻燈片,可以讓頁面繼續前進。再次感謝@ dvk317960 – RMH

0

試試這個:

$('source').attr("src", $(this).data('src')); 
$('source').removeAttr('data-src'); 

這應該鏈接擺脫data-srcsrc,然後取出data-src屬性。

0

在after函數中獲取當前可見的幻燈片,然後獲取它的自動和它的源。接下來檢查它是否已具有src屬性。如果不是,則將其設置爲它自己的.data('src')。將此添加到flexslider對象中。

after: function(){ 
    var $currentAudio = $('.flex-active-slide audio source'); 
    if(!$currentAudio.attr('src')){ 
     $currentAudio.attr('src', $currentAudio.data('src')); 
    } 
}