Using the .click() jQuery Method to Hide a Link when Clicked and then Display an Autoplay YouTube Video
Posted on February 19, 2014 in jQuery by Matt Jennings
CSS and HTML
Somewhere in your website include a script
tag that points to latest Google jQuery API.
Note: In some cases if you use an older jQuery library this code will not work, especially in IE! Also, jQuery in this post has been tested and does work in IE7+ but for some reason the JSFiddle link doesn’t work in IE.
The code below displays an anchor tag and hides a YouTube iframe
.
<style type="text/css"> .hide { display: none; } </style> <div id="video-wrapper"> <a class="click-play-video" href="#">Click to play video</a> <iframe class="youtube-video hide" width="560" height="315" src="//www.youtube.com/embed/DxBiqyyjelM?autoplay=1" frameborder="0" allowfullscreen></iframe> </div><!-- #video-wrapper -->
jQuery
First, don’t forget to wrap your jQuery in the jQuery Ready Event.
The code below uses the .click()
jQuery method to attach an event handler to the
#video-wrapper
selector.
When the .click-play-video
anchor tag is clicked, the code inside the event handler adds the .hide
class to that same anchor tag and removes the .hide
class from the .youtube-video
element so that the YouTube iframe
is displayed.
The this
keyword refers to the #video-wrapper
selector. $("#video-wrapper")
is the same as $(this)
in the code below.
Finally, inside the YouTube iframe
a ?autoplay=1
string is added at the end of the src
attribute value to ensure the video starts playing immediately.
Here’s the JSFiddle. Enjoy!
$("#video-wrapper").click(function(){ $(this).find(".click-play-video").addClass("hide"); $(this).find(".youtube-video").removeClass("hide"); });