I'm trying to play a video as soon as the dom has loaded using jQuery. This is my code:
HTML
<video id="video" width="420">
<source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
<source src="http://www.w3schools.com/html/mov_bbb.ogg" type="video/ogg">
<p>Your browser does not support HTML5 video.</p>
</video>
JS (script.js)
$(document).ready(function() {
$(#video).play();
});
When you dom loads the video does not play, where am I going wrong? Thanks in advance.
You can use: $("#video_player")[0]. play();
In jQuery, the video file is first selected using a selector and the actual element is selected using the get() method. Then the play() method is used on this element to attempt to start the video. The pause() method in JavaScript is used to pause the playback of a media file.
The HTML autoplay Attribute is used to specify that the audio/video should automatically start playing when web page is loaded. It is a Boolean attribute. Uses It can be used with <audio> and <video> element. Example 1: Here the autoplay attribute is used with the <video> tag.
The autoplay property sets or returns whether a video should start playing as soon as it is loaded. This property reflects the <video> autoplay attribute. When present, it specifies that the video should automatically start playing as soon as it is loaded.
The jQuery selector $("#video")
returns a jQuery object. Since play()
is a function of the DOM element, you must get the DOM element with:
$("#video").get(0);
before using .play() method:
$("#video").get(0).play();
Edit: You can also use HTML5 selected tags in case jQuery fall back. Note the autoplay
tag.
<video controls="controls" autoplay="autoplay" loop="loop"
width="233" height="147" poster="//www.cdn.com//video.png"
preload="auto" title="Video">
<source src="//www.cdn.com/video.mp4" type="video/mp4"/>
<source src="//www.cdn.com/video.ogv" type="video/ogv"/>
<source src="//www.cdn.com/video.webm" type="video/webm"/>
</video>
I know is not jQuery but in standard javascript with html5 you can use:
var video = document.getElementById("target_video");
video.autoplay = true;
video.load();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With