f4568850 by Dan Rempel

CWL 2016 Fall ad Add mute button. Clean up code.

1 parent fba414c9
<svg xmlns="http://www.w3.org/2000/svg" width="83.27" height="83.27" viewBox="0 0 83.27 83.27"><defs><style>.cls-1{opacity:0.75;}.cls-2{fill:none;stroke:#fff;stroke-miterlimit:10;stroke-width:8.11px;}.cls-3{fill:#fff;}</style></defs><title>mute-un</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><g class="cls-1"><circle class="cls-2" cx="41.64" cy="41.64" r="37.58"/><polygon class="cls-3" points="19.11 35.14 19.11 50.24 29.17 50.24 41.76 62.82 41.76 22.55 29.17 35.14 19.11 35.14"/><path class="cls-3" d="M46.79,59.71a18,18,0,0,0,0-34.24V20.22a23.11,23.11,0,0,1,0,44.86Z"/><path class="cls-3" d="M46.79,46.33a6.69,6.69,0,0,0,0-7.44V32.23a11.79,11.79,0,0,1,0,20.78Z"/></g></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" width="83.27" height="83.27" viewBox="0 0 83.27 83.27"><defs><style>.cls-1{opacity:0.75;}.cls-2{fill:none;stroke:#fff;stroke-miterlimit:10;stroke-width:8.11px;}.cls-3{fill:#fff;}</style></defs><title>mute</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><g class="cls-1"><circle class="cls-2" cx="41.64" cy="41.64" r="37.58"/><g id="volume-off"><path class="cls-3" d="M53.08,42.69a10.93,10.93,0,0,0-6.29-10.07v5.54l6.29,6.29Zm6.29,0a18.9,18.9,0,0,1-1.26,6.54L61.89,53a21.18,21.18,0,0,0,2.52-10.57A22.69,22.69,0,0,0,46.79,20.29v5.28A18.14,18.14,0,0,1,59.37,42.69ZM22.38,20l-3.27,3.27L30.94,35.14H19.11v15.1H29.17L41.76,62.82V46L52.58,56.78a21,21,0,0,1-5.79,3v5.28a21.49,21.49,0,0,0,9.31-4.53l5,5,3.27-3.27L41.76,39.67Zm19.38,2.52-5.28,5.28,5.28,5.28Z"/></g></g></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" width="83.27" height="83.27" viewBox="0 0 83.27 83.27"><defs><style>.cls-1{opacity:0.75;}.cls-2{fill:none;stroke:#fff;stroke-miterlimit:10;stroke-width:8.11px;}.cls-3{fill:#fff;}</style></defs><title>pause</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><g class="cls-1"><circle class="cls-2" cx="41.64" cy="41.64" r="37.58"/><rect class="cls-3" x="26.26" y="23.5" width="10.32" height="36.42"/><rect class="cls-3" x="46.9" y="23.5" width="10.32" height="36.42"/></g></g></g></svg>
\ No newline at end of file
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>HTML5 Ad</title>
<!--
<script type="text/javascript">
// IAB source: modified to allow link testing
var clickTag = "http://thecommonwell.ca/wave";
function getParameterByName(name)
{
var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
if (match == null || match == ""){
return clickTag;
} else{
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
}
clickTag = getParameterByName('clickTag');
</script>
-->
<script type="text/javascript" src="https://quickresource.eyereturn.com/eyebuild/eyebuild_1_19.js"></script>
<script type="text/javascript">
window.onload = function() {
eyeBuild.initialize();
window.isVideoClick = false;
var videoPlays = 0;
var v0 = false;
var v25 = false;
var v50 = false;
var v75 = false;
var video = document.getElementById("video");
var videoControls = document.getElementById("video-controls");
var playButton = document.getElementById("play-pause");
playButton.addEventListener("click", function(e) {
if (video.paused == true) {
play();
eyeBuild.doIAT(0);
} else {
pause();
eyeBuild.doIAT(1);
}
});
var play = function(){
video.play();
videoPlays++;
playButton.setAttribute("class", "pause");
videoControls.setAttribute("class", "play");
}
var pause = function(){
video.pause();
playButton.setAttribute("class", "play");
}
video.addEventListener('ended', function(e){
video.currentTime = 0;
pause();
videoControls.setAttribute("class", "start");
playButton.setAttribute("class", "play");
v0 = false;
v25 = false;
v50 = false;
v75 = false;
eyeBuild.doIAT(9);
}, false);
// track video plays
video.addEventListener('timeupdate', function(e){
var pct = video.currentTime / video.duration *100;
if (pct > 75 && !v75){
v75 = true;
eyeBuild.doIAT(8);
}else if (pct > 50 && !v50){
v50 = true;
eyeBuild.doIAT(7);
}else if (pct > 25 && !v25){
v25 = true;
eyeBuild.doIAT(6);
}else if (pct > 0 && !v0){
v0 = true;
eyeBuild.doIAT(5);
if(videoPlays>1){
eyeBuild.doIAT(10);
}
}
}, false);
}
</script>
<style>
body{
margin: 0;
padding: 0;
width: 300px;
height: 600px;
line-height: 1.2;
font-size: 27px;
letter-spacing: .4;
color: #CD040B;
font-family: "Neue Haas Grotesk", Arial, sans-serif;
/*font-weight: 800;*/ /*BOLD-800, MEDIUM-600, ROMAN - 400*/
font-style: normal;
}
a{
text-decoration: none;
color: inherit;
}
#click-tag{
display: block;
position: absolute;
width: 100%;
height: 420px;
top:180px;
}
#border{
position: relative;
width: 300px;
height: 600px;
border: 1px solid #55565A;
background-color: #FFFFFF;
overflow: hidden;
cursor: pointer;
box-sizing: border-box;
}
#border:hover #cta{
background-color: #666666;
}
#border:active #cta{
background-color: #000000;
}
#video, #video-controls{
position: absolute;
width: 272px;
height: 152px;
left:13px;
top:15px;
}
#video-controls.start{
background: url(assets/video-poster.jpg) no-repeat center center;
}
#video-controls button{
background: url(assets/play.svg) no-repeat center center;
border: none;
cursor: pointer;
width: 100%;
height: 100%;
}
#video-controls button.play:hover{
background-size: 88px 88px;
}
#video-controls button.play{
background: url(assets/play.svg) no-repeat center center;
background-size: 85px 85px;
}
#video-controls button.pause:hover{
background-size: 20px 20px;
}
#video-controls button.pause{
background: url(assets/pause.svg) no-repeat 5px 127px;
background-size: 0px 0px;
}
</style>
</head>
<body>
<div id="border">
<div id="img"><img id="logoImg" src="assets/img@2x.gif" width="300" height="600" style="border-style:none"></div>
<video id="video" width="272" height="152">
<source src="assets/vid.mp4" type="video/mp4">
Your browser doesn't support HTML5 video.
</video>
<div id="video-controls" class="start">
<button type="button" id="play-pause" class="play"></button>
</div>
<a id="click-tag" href="javascript:eyeBuild.doClick(0)"></a>
<!--<a id="click-tag" href="javascript:window.open(window.clickTag)"></a>-->
</div>
</body>
</html>
\ No newline at end of file
......@@ -35,6 +35,8 @@
var video = document.getElementById("video");
var videoControls = document.getElementById("video-controls");
var playButton = document.getElementById("play-pause");
var muteButton = document.getElementById("mute");
playButton.addEventListener("click", function(e) {
if (video.paused == true) {
play();
......@@ -47,18 +49,19 @@
var play = function(){
video.play();
videoPlays++;
playButton.setAttribute("class", "pause");
videoControls.setAttribute("class", "play");
videoControls.className = ""
toggleClass(videoControls, "playing");
toggleClass(playButton, "playing");
}
var pause = function(){
video.pause();
playButton.setAttribute("class", "play");
toggleClass(videoControls, "playing");
toggleClass(playButton, "playing");
}
video.addEventListener('ended', function(e){
video.currentTime = 0;
pause();
videoControls.setAttribute("class", "start");
playButton.setAttribute("class", "play");
videoControls.className = "start"
v0 = false;
v25 = false;
v50 = false;
......@@ -66,6 +69,16 @@
eyeBuild.doIAT(9);
}, false);
muteButton.addEventListener("click", function(e) {
if (video.muted == true) {
eyeBuild.doIAT(4);
} else {
eyeBuild.doIAT(3);
}
video.muted = !video.muted;
toggleClass(muteButton, "muted");
});
// track video plays
video.addEventListener('timeupdate', function(e){
var pct = video.currentTime / video.duration *100;
......@@ -88,6 +101,18 @@
}, false);
}
function toggleClass(element, toggleClass){
var currentClass = element.className;
if(currentClass.indexOf(toggleClass) > -1){ //has class
newClass = currentClass.replace(toggleClass,"")
}else{
newClass = currentClass + " " + toggleClass;
}
element.className = newClass;
}
</script>
......@@ -147,25 +172,59 @@
}
#video-controls.start{
background: url(assets/video-poster.jpg) no-repeat center center;
opacity:1;
}
#video-controls.playing {
opacity:0;
}
#video-controls:hover {
opacity:1;
}
#video-controls button{
background: url(assets/play.svg) no-repeat center center;
border: none;
cursor: pointer;
width: 100%;
height: 100%;
}
#video-controls button.play:hover{
background-size: 88px 88px;
}
#video-controls button.play{
button#play-pause{
background: url(assets/play.svg) no-repeat center center;
background-size: 83px 83px;
}
button#play-pause.playing{
background: url(assets/pause.svg) no-repeat 30px 127px;
background-size: 20px 20px;
}
button#play-pause:hover{
background-size: 85px 85px;
}
#video-controls button.pause{
background: none;
button#play-pause.playing:hover{
background-position: 29px 126px;
background-size: 21px 21px;
}
button#mute{
background: url(assets/mute-un.svg) no-repeat center center;
background-size: 20px 20px;
position: absolute;
width: 22px;
height: 22px;
left:5px;
bottom: 5px;
}
button#mute.muted{
background: url(assets/mute.svg) no-repeat center center;
background-size: 20px 20px;
}
button#mute:hover{
background-size: 22px 22px;
}
</style>
</head>
......@@ -178,7 +237,8 @@
Your browser doesn't support HTML5 video.
</video>
<div id="video-controls" class="start">
<button type="button" id="play-pause" class="play"></button>
<button type="button" id="play-pause" class=""></button>
<button type="button" id="mute" class=""></button>
</div>
<a id="click-tag" href="javascript:eyeBuild.doClick(0)"></a>
......