Advertisement
Imgoodisher

Flashlight

Feb 9th, 2014
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 2.38 KB | None | 0 0
  1. <!-- Place the following code before </head> -->
  2.  
  3. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  4. <script>
  5.     (function() {
  6.  
  7.         // Button appearance
  8.         var button_text = "LIGHTS";
  9.         var button_color = "#ff0";
  10.         var button_background = "#000";
  11.  
  12.         // Size of the beam.
  13.         var radius = 450;
  14.  
  15.         // Color of the beam
  16.         // format:  "red, green, blue"
  17.         // example: for a red color put  var color = "255,0,0"
  18.         // "" or false means no color
  19.         var color = "";
  20.  
  21.         // Lower number = lighter beam
  22.         // Only works when color is enabled
  23.         var color_alpha = 0.25
  24.  
  25.         $(function() {
  26.             var active = false;
  27.  
  28.             var trigger = document.createElement("div");
  29.             $(trigger)
  30.                 .css({"position":"fixed", "top":"10px", "left":"10px", "padding":"4px", "z-index":1000, "background-color":button_background, "color":button_color, "cursor":"pointer"})
  31.                 .text(button_text)
  32.                 .click(function() {
  33.                     active = !active;
  34.                     $(canvas).css("display", (active?"block":"none"));
  35.                     draw();
  36.                 })
  37.                 .appendTo(document.body);
  38.  
  39.             var canvas = document.createElement("canvas");
  40.             $(canvas)
  41.                 .css({"position":"fixed", "top":"0px", "left":"0px", "pointer-events":"none", "z-index":999})
  42.                 .attr("width", window.innerWidth)
  43.                 .attr("height", window.innerHeight)
  44.                 .appendTo(document.body);
  45.  
  46.             ctx = canvas.getContext("2d");
  47.             grad = ctx.createRadialGradient(0,0,0,0,0,radius);
  48.             if (color) {
  49.                 grad.addColorStop(0,    'rgba('+color+','+color_alpha+')');
  50.                 grad.addColorStop(0.25, 'rgba('+color+','+(color_alpha+0.01)+')');
  51.                 grad.addColorStop(1,    '#000')
  52.             } else {
  53.                 grad.addColorStop(0,    'rgba(0,0,0,0)')
  54.                 grad.addColorStop(0.25, 'rgba(0,0,0,0.01)')
  55.                 grad.addColorStop(1,    'rgba(0,0,0,1)')
  56.             }
  57.  
  58.             ctx.fillStyle = grad;
  59.  
  60.             var mouse = {x:window.innerWidth/2,y:window.innerHeight/2}
  61.  
  62.             function draw() {
  63.                 if (active) {
  64.                     ctx.setTransform(1, 0, 0, 1, 0, 0)
  65.                     ctx.clearRect(0,0,canvas.width,canvas.height);
  66.                     ctx.setTransform(1, 0, 0, 1, mouse.x, mouse.y);
  67.                     ctx.fillRect(-mouse.x,-mouse.y,canvas.width,canvas.height);
  68.                 }
  69.             }
  70.             draw();
  71.  
  72.             $(window).resize(function() {
  73.                 canvas.width = window.innerWidth;
  74.                 canvas.height = window.innerHeight;
  75.                 ctx.fillStyle = grad;
  76.                 draw();
  77.             }).mousemove(function(e) {
  78.                 mouse.x = e.clientX; mouse.y = e.clientY;
  79.                 draw();
  80.             })
  81.         })
  82.  
  83.     })()
  84. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement