2011-11-17 21 views
5

ngay bây giờ tôi có một loạt video. Làm thế nào để làm cho nó như vậy khi tôi nhấp vào tiếp theo và prev video tiếp theo hoặc trước đó trong tải mảng.gọi mục tiếp theo trong mảng của tôi

<video id="video" controls autoplay width="1000"> 
    <source src="videos/test.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' /> 
    <source src="videos/test.ogv" /> 
</video> 

<a href="#" onClick="javascript:vidSwap(vidURL[i+]); return false;">next</a> 



<script> 
var vidURL=["videos/test.ogv","videos/test2.ogv","videos/test3.ogv","videos/test4.ogv","videos/test5.ogv" ]; // literal array 
function vidSwap(vidURL) { 
var myVideo = document.getElementsByTagName('video')[0]; 
myVideo.src = vidURL; 
myVideo.load(); 
myVideo.play(); 
} 

+0

Thuộc tính onclick, javascript được giả định, vì vậy không cần phải bắt đầu lời gọi hàm của bạn với 'javascript: '. Ngoài ra tôi khuyên bạn nên bắt đầu với jQuery nếu bạn chưa có. – benekastah

Trả lời

2

Sử dụng mã yout, nó sẽ có một cái gì đó như thế này. Những gì bạn cần làm là có video mà bạn đã tải trên biến javascript. Sau đó, khi bạn nhấp vào prev hoặc next bạn có thể gọi một hàm sẽ đặt đúng số video và gọi nó.

<script> 
var vidURL=["videos/test.ogv","videos/test2.ogv","videos/test3.ogv","videos"] 
var video = 0; 

function vidSwap() { 
    var myVideo = document.getElementsByTagName('video')[video]; 
    myVideo.src = vidURL[video]; 
    myVideo.load(); 
    myVideo.play(); 
} 


function prevVideo() { 
    if(video == 0) { 
    video = vidUrl.length; 
    } 
    else { 
    video -= 1; 
    } 

    vidSwap(); 
} 

function nextVideo() { 
    if(video == length) { 
    video = 0; 
    } 
    else { 
    video += 1; 
    } 

    vidSwap(); 
} 

</script> 


<video id="video" controls autoplay width="1000"> 
    <source src="videos/test.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' /> 
    <source src="videos/test.ogv" /> 
</video> 

<a href="#" onClick="javascript:prevVideo(); return false;">prev</a> 
<a href="#" onClick="javascript:nextVideo(); return false;">next</a> 
+0

khi tôi thực hiện điều này trở về sai, làm tôi viết next goetzs

+0

này vẫn không có vẻ làm việc – goetzs

+0

nó có thể có một số lỗi gây ra tôi thực hiện nó bằng đầu. Xem phản ứng @brpyne và sử dụng taughts của tôi. Anh ta nói rằng mã của anh ta là chính xác. –

1

giới thiệu biến mà sẽ tiết kiệm được index video hiện tại, sau đó tăng hay giảm nó mỗi lần bạn nhấn tiếp theo/trước

</script> 
var i = 0; 
<script> 

javascript:vidSwap(vidURL[i++]) 
+0

điều này sẽ phá vỡ khi đạt đến mục mảng cuối cùng và bấm tiếp theo :) –

1

Dường như bạn đang thiếu một dấu cộng trong toán tử tăng của bạn .

Hãy thử thay đổi

<a href="#" onClick="javascript:vidSwap(vidURL[i+]); return false;">next</a> 

Để này

<a href="#" onClick="javascript:vidSwap(vidURL[i++]); return false;">next</a> 
+0

điều này sẽ phá vỡ khi đạt đến mục mảng cuối cùng. –

+0

Điều này là chính xác. Tôi nghĩ bạn sẽ xử lý loại logic đó sau khi vượt qua vấn đề đầu tiên của bạn. Lỗi cú pháp như thế có thể dễ dàng được giám sát, tôi đã đánh vào trán của tôi ít nhất một trăm lần so với những thứ như thế. – brpyne

1

Wrapped lên thay thế với bọc xung quanh;

<a href="#" onClick="return Vids.next();">next</a> 
<a href="#" onClick="return Vids.prev();">prev</a> 

... 

var Vids = (function() { 
    var _currentId = -1; 
    var _urls = ["videos/test.ogv","videos/test2.ogv","videos/test3.ogv","videos/test4.ogv","videos/test5.ogv" ]; // literal array 
    return { 
     next: function() { 
      if (++_currentId >= _urls.length) 
       _currentId = 0; 
      return this.play(_currentId); 
     }, 
     prev: function() { 
      if (--_currentId < 0) 
       _currentId = _urls.length - 1; 
      return this.play(_currentId); 
     }, 
     play: function(id) { 
      var myVideo = document.getElementsByTagName('video')[0]; 
      myVideo.src = _urls[id]; 
      myVideo.load(); 
      myVideo.play(); 
      return false; 
     } 
    } 
})(); 
+0

giờ đây giống như vậy :) –

+0

có thể đặt nhiều loại nguồn trong mảng – goetzs

+0

Bạn làm gì theo loại nguồn? –

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