2014-06-25 87 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')); 
    } 
}