2013-02-10 75 views
13

Tôi có video trực tuyến html5 và tôi cần thay đổi nguồn * sau một số thao tác nhấp. Vì vậy, những gì tôi đang làm việc, nhưng chỉ trong html, tôi có thể thấy thay đổi nguồn nhưng nó không thay đổi trên màn hình của tôi, bạn có thể giúp tôi? Chuyện gì thế? * Nguồn là phụ thêm tập tin xml frome.Cách thay đổi nguồn trong video html5 với jQuery

HTML

<video autoplay loop width="960" height="540" id="video"> 
    <source src="video/movie_01.mp4" id="tv_main_channel"> 
</video> 

JS

btn.on('click', function(){ 
    var tv_main_channel = $('#tv_main_channel'), 
     d_program_source_mp4 = $(program_self).find("program_source_mp4").text(); 

    tv_main_channel.attr('src', d_program_source_mp4); 
} 

tôi cũng thử nó với append nhưng nó vẫn không hoạt động

var video_block = $('#video'); 

video_block.empty(); 
video_block.append(
    '<source src="'+ d_program_source_mp4 +'">' 
); 

Thx để được giúp đỡ.

Trả lời

11

Rất đơn giản, chỉ cần làm điều này:

btn.on("click", function(){ 
    var src = "new_video_src.mp4"; 
    $("#video").find("#tv_main_channel").attr("src", src) 
}) 
25

Xem fiddle này: http://jsfiddle.net/qGbzb/2/

Để tự động tải video bạn cần phải chạy

var video_block = $('#video'); 
video_block.load(); 

Sau đó, bạn cũng sẽ thấy một sự thay đổi trong hiển thị quá, và không chỉ trong html.

+1

Cảm ơn người đàn ông, tôi đã bị mắc kẹt ở đó trong nhiều giờ, nhưng cách gọi '.load() ' giải quyết nó! – Mahdi

0

Bạn có thể sử dụng như thế này trong sự kiện click

var src = "new_video_src.mp4"; 
    $("#tv_main_channel").src=src; 

Đây là phương pháp thực tế cho các yếu tố thẻ video

Các vấn đề liên quan