Je tente de faire une sorte d'économiseur d'écran en utilisant AngularJS. Ce que je voudrais, c'est faire apparaître une vidéo et commencer à jouer après un certain nombre de secondes après que l'utilisateur a cessé d'interagir avec la page (ne bouge pas sa souris ou ne clique pas dessus). Ensuite, une fois la vidéo en cours de lecture, si l'utilisateur clique sur la vidéo, je souhaite que la vidéo soit mise en pause, réinitialisée à 0:00, puis masquée et réinitialisée pour qu'elle s'affiche et commence à jouer après un autre x nombre de secondes d'inactivité.AngularJS afficher la vidéo après l'inactivité, masquer la vidéo et réinitialiser au début sur cliquez sur
Je suis très nouveau pour AngularJS, mais voici ce que je suis venu avec jusqu'à ma connaissance de Javascript:
(function(){
var myApp = angular.module('myApp', []);
myApp.controller('myController', function($scope, $timeout){
$scope.videoVisible = false;
var video = $('#video1')[0];
//5 second delay
$timeout(function(){
$scope.videoVisible = true;
video.currentTime = 0;
video.load();
}, 5000);
$scope.hideVideo = function() {
$scope.videoVisible = false;
video.pause();
video.currentTime = 0;
}
// This part should reset the timeout if the user is moving their mouse or clicking
$(document.body).bind('mousemove keydown click', RESETTIMER);
});
})();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="myController">
<div ng-show="videoVisible" ng-click="hideVideo()">
<video id="video1" style="width:600px;max-width:100%;" controls="">
<source src="https://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
<source src="https://www.w3schools.com/html/mov_bbb.ogg" type="video/ogg">
Your browser does not support HTML5 video.
</video>
</div>
</div>
</div>