1.0.2 • Published 6 years ago

murphyjs v1.0.2

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

Why use murphy

  • ⚡️ Lightweight library (only 1.7KB gzipped).

  • 🍎 Easy and fast implementation.

  • 🎮 Total control of IntersectionObserver parameters.

  • 🎨 Full customization of time, duration, ease, delay and distance of each element individually.

  • 🎁 Some animations implemented by default.

  • 🏝 Plug and play solution to landing pages and simple projects.

  • ❎ Native fallback to not supported browsers.

Getting started

Download

Via npm:

$ npm install murphyjs

Via file include:

Download file here and link in your HTML.

<script src="./murphy/index.js"></script>

Usage

Just do three steps:

  Tag your HTML

In your markup, decore your element with attribute data-murphy.

<div data-murphy="left-to-right">Any content here</div>

The default effect of murphy is bottom-to-top, but it's possible use top-to-bottom, left-to-right and right-to-left too.

🔌   Reset your CSS

In your CSS, reset all the tagged elements.

*[data-murphy] {
  opacity: 0;
}

🚀   Start murphy

In Javascript side, just import and run play when your page is completely loaded to start monitoring decorated elements.

Import
import murphy from "murphyjs";
And trigger
murphy.play()

Or call from window

If you added murphy via file include, just access murphy's functions in window:

window.murphy.play()
// or just
murphy.play()

That is enough to work! 🤟🏿

Examples

1. This data-attributes:

<p data-murphy="bottom-to-top">Bottom to top</p>
<p data-murphy="top-to-bottom">Top to bottom</p>
<p data-murphy="left-to-right">Left to right</p>
<p data-murphy="right-to-left">Right to left</p>

Will result in that:

2. To do the same effect that murphy's logo, use:

<p data-murphy="bottom-to-top">m</p>
<p data-murphy="bottom-to-top" data-murphy-animation-delay="400">u</p>
<p data-murphy="bottom-to-top" data-murphy-animation-delay="500">r</p>
<p data-murphy="bottom-to-top" data-murphy-animation-delay="600">p</p>
<p data-murphy="bottom-to-top" data-murphy-animation-delay="700">h</p>
<p data-murphy="bottom-to-top" data-murphy-animation-delay="800">y</p>
<p data-murphy="bottom-to-top" data-murphy-animation-delay="900">.</p>
<p data-murphy="bottom-to-top" data-murphy-animation-delay="1000">j</p>
<p data-murphy="bottom-to-top" data-murphy-animation-delay="1100">s</p>

Result:

🚨 Important

These animations are triggered when scrolling the page, but when the tagged elements are already within the bounds of the screen, everything works like appearance animations that React Transition Group already does. So if you need animations on the first load of site, murphy is for you!

Documentation

Attributes

You can configure the animation of each decorated element individually. Beyond the data-murphy attribute, other attributes are available:

AttributeValue typeDefault valueWhat controls
data-murphyString'bottom-to-top'-
data-murphy-appearance-distanceInt50 (px)-
data-murphy-element-distanceInt30 (px)-
data-murphy-easeString'ease' (can be a cubic-bezier)-
data-murphy-animation-delayInt300 (ms)-
data-murphy-element-thresholdInt1-
data-murphy-animation-durationInt300 (ms)-

Methods

MethodWhat happens
playStart monitoring on element in DOM tagged with data-murphy
resetResets all data-murphy elements to their initial state.

Browser support

ChromeSafariIE / EdgeFirefoxOpera
58+12.1+Not (yet) supported55+62+

License

The code is available under the MIT License.

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago