2011-11-17 6 views
5

अभी मेरे पास वीडियो की एक श्रृंखला है। मैं इसे कैसे बना सकता हूं जब मैं अगला क्लिक करता हूं और सरणी लोड में अगला या पिछला वीडियो चलाता हूं।मेरे आइटम में अगले आइटम को कॉल करना

<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

एक onclick विशेषता में, जावास्क्रिप्ट मान लिया जाता है, तो 'जावास्क्रिप्ट के साथ अपने समारोह कॉल प्रस्तावना की कोई जरूरत नहीं है:'। इसके अलावा मैं jQuery के साथ शुरू करने की सलाह देता हूं यदि आप पहले से नहीं हैं। – benekastah

उत्तर

2

yout कोड का उपयोग करना, यह कुछ इस तरह हो जाएगा। आपको जो करना है वह उस वीडियो में है जिसे आपने जावास्क्रिप्ट चर पर लोड किया है। फिर, जब आप पिछली या अगले पर क्लिक करते हैं तो आप एक फ़ंक्शन को कॉल कर सकते हैं जो सही वीडियो नंबर डाल देगा और उसे कॉल करेगा।

<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

जब मैं लागू इस अपनी झूठी लौटने, मैं लिखना next goetzs

+0

यह अभी भी नहीं करता काम करने – goetzs

+0

यह कारण मैं इसे सिर द्वारा किए गए कुछ त्रुटियाँ हो सकता है लगता है। @brpyne प्रतिक्रिया देखें और मेरी taughts का उपयोग करें। वह कहता है कि उसका कोड सही है। –

1

चर जो वर्तमान वीडियो सूचकांक की बचत होगी परिचय है, तो यह भी वृद्धि या यह हर बार जब आप अगले/पिछला प्रेस घटती

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

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

अंतिम सरणी आइटम तक पहुंचने पर यह टूट जाएगा और अगले दबाएं :) –

1

ऐसा लगता है कि आप अपने वेतन वृद्धि ऑपरेटर में एक और धन चिह्न भूल रहे हैं की तरह ।

कोशिश बदलते

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

इस

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

यह अंतिम सरणी आइटम तक पहुंचने पर टूट जाएगा। –

+0

यह सही है। मैंने सोचा कि आप अपनी पहली समस्या के माध्यम से उस प्रकार के तर्क को संभालेंगे। इस तरह की सिंटैक्स त्रुटियों की आसानी से निगरानी की जा सकती है, मैंने इस तरह की चीजों पर कम से कम सौ बार अपने माथे को मारा है। – brpyne

1

के साथ वैकल्पिक ऊपर लपेटा चादर के आसपास करने के लिए;

<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

अब यह इसे और अधिक की तरह है :) –

+0

यह सरणी – goetzs

+0

में एक से अधिक स्रोत प्रकार डाल करने के लिए संभव है क्या आप स्रोत प्रकार से आदमी हैं? –

संबंधित मुद्दे