Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
The raf npm package provides a simple and efficient way to use requestAnimationFrame in web browsers, with polyfills for unsupported environments. It's primarily used for creating smooth animations and handling frame-based updates in web applications.
Basic Animation Loop
This demonstrates how to create a basic animation loop using raf. The `raf` function is called with a callback function (`tick`), which will be executed before the next repaint. The `tick` function then calls `raf` with itself to continue the loop.
var raf = require('raf');
raf(function tick() {
// Animation or frame update logic here
raf(tick);
});
Canceling an Animation Frame
This example shows how to schedule an animation frame and then cancel it. The `raf` function returns a handle that can be used with `raf.cancel` to prevent the scheduled callback from executing.
var raf = require('raf');
var handle = raf(function() {
// Animation or frame update logic here
});
// Cancel the scheduled frame update
raf.cancel(handle);
Provides a similar functionality to raf for managing animation frames, but it includes additional features for managing the timing and sequencing of multiple animations, which might make it a better choice for complex animations.
requestAnimationFrame polyfill for node and the browser.
var raf = require('raf')
raf(function tick() {
// Animation logic
raf(tick)
})
Note: The stream/event emitter logic found in versions prior to 1.0.0 can be found in raf-stream.
Install raf
from npm:
npm install --save raf
Require it like you would any other module:
const raf = require('raf')
Download the UMD-bundle from wzrd.in (remember to include the current version number in the filename).
Add it to your AMD module loader config and require it like you would any other module:
define(['raf'], raf => {...})
<script>
Download the UMD-bundle from wzrd.in (remember to include the current version number in the filename).
Then include it via a script tag:
<script src="raf-x.x.x.js"></script>
The API will be available on window.raf
.
Documentation at Mozilla Developer Network, W3 Specification
callback
is the function to invoke in the next frame. handle
is a long integer value that uniquely identifies the entry in the callback list. This is a non-zero value, but you may not make any other assumptions about its value.
handle
is the entry identifier returned by raf()
. Removes the queued animation frame callback (other queued callbacks will still be invoked unless cancelled).
Shorthand to polyfill window.requestAnimationFrame
and window.cancelAnimationFrame
if necessary (Polyfills global
in node).
Alternatively you can require raf/polyfill
which will act the same as require('raf').polyfill()
.
If you provide object
the polyfills are attached to that given object, instead of the inferred global.
Useful if you have an instance of a fake window
object, and want to add raf
and caf
to it.
Based on work by Erik Möller, Paul Irish, and Tino Zijdel (https://gist.github.com/paulirish/1579671)
MIT
FAQs
requestAnimationFrame polyfill for node and the browser
The npm package raf receives a total of 4,401,484 weekly downloads. As such, raf popularity was classified as popular.
We found that raf demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.