Giter Site home page Giter Site logo

angular-fullscreen's Introduction

AngularJS HTML5 Fullscreen

An AngularJS service and a directive to quickly use the HTML5 fullscreen API and set the fullscreen to the document or to a specific element.

Example

Live demo: http://www.fabiobiondi.com/demo/github/angular-fullscreen/demo/

Usage

Add AngularJS and the angular-fullscreen.js to your main file (index.html)

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js"></script>
<script src="angular-fullscreen.js"></script>

Set FBAngular as a dependency in your module:

var app = angular.module('YourApp', ['FBAngular'])

Fullscreen Directive

Set the fullscreen attribute to a specific element:

<img id="img1" src="imgs/P1030188.JPG" fullscreen />

The only requirement is to set a different ID to all elements that you will flag as fullscreen.

Fullscreen Service

You can also use the Fullscreen service into your controller:

Controller:

function MainCtrl($scope, Fullscreen) {

   $scope.goFullscreen = function () {

      if (Fullscreen.isEnabled())
         Fullscreen.cancel();
      else
         Fullscreen.all();

      // Set Fullscreen to a specific element (bad practice)
      // Fullscreen.enable( document.getElementById('img') )

   }

}

HTML:

<button ng-click="goFullscreen()">Enable/Disable fullscreen</button>

Alternative Approach

You may pass in the name of a scope property to watch. When the property becomes truthy, the element will become full screen:

Controller:

function MainCtrl($scope) {
    // Initially, do not go into full screen
    $scope.isFullscreen = false;

    $scope.toggleFullScreen = function() {
        $scope.isFullscreen = !$scope.isFullscreen;
    }
}

HTML:

<div fullscreen="isFullscreen">Lorem ipsum...</div>
<button ng-click="toggleFullScreen()">Toggle Full Screen</button>

Available Methods

Method Details
all() enable document fullscreen
enable(elementID) enable fullscreen to a specific element
cancel() disable fullscreen
isEnabled() return true if fullscreen is enabled, otherwise false

Example

You can check out this live example here: http://www.fabiobiondi.com/demo/github/angular-fullscreen/demo/

angular-fullscreen's People

Contributors

fabiobiondi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.