James Peret's personal portfolio website version 2. Built with Famous.js and AngularJS.

background.js 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /**
  2. * @ngdoc function
  3. * @name domainManagerApp.controller:AboutCtrl
  4. * @description
  5. * # AboutCtrl
  6. * Controller of the domainManagerApp
  7. */
  8. angular.module('goApp.background', ['famous.angular'])
  9. .controller('BackgroundController',['$scope', '$rootScope', '$famous', '$timeline', function ($scope, $rootScope, $famous, $timeline) {
  10. 'use strict';
  11. var View = $famous['famous/core/View'];
  12. var Modifier = $famous['famous/core/Modifier'];
  13. var Surface = $famous['famous/core/Surface'];
  14. var Transform = $famous['famous/core/Transform'];
  15. var VideoSurface = $famous['famous/surfaces/VideoSurface'];
  16. $scope.randomIntFromInterval = function(min,max) {
  17. return Math.floor(Math.random()*(max-min+1)+min);
  18. };
  19. $scope.videos = ['content/videos/bg_1.mov', 'content/videos/bg_2.mov', 'content/videos/bg_1.mov', 'content/videos/bg_2.mov', 'content/videos/bg_3.mov', 'content/videos/bg_4.mov'];
  20. $scope.current_video = $scope.videos[$scope.randomIntFromInterval(0,5)];
  21. $scope.backgroundView = new View();
  22. var video = new VideoSurface({
  23. size: [undefined, undefined],
  24. autoplay: true,
  25. src: $scope.current_video,
  26. classes: ['bg_video'],
  27. properties: {
  28. zIndex: 1,
  29. }
  30. });
  31. video.setAttributes({
  32. loop: ''
  33. });
  34. var videoModifier = new Modifier();
  35. videoModifier.transformFrom(function(){
  36. //transform: Transform.translate(0, 0, 0);
  37. Transform.translate(0, 0, 0);
  38. });
  39. $scope.backgroundView.add(videoModifier).add(video);
  40. }]);