angular-scroll-trigger
v0.5.4
Published
Trigger actions on scroll to a point
Downloads
10
Readme
scroll-trigger
Read the tests as How to use
:)
Trigger actions on scroll to a point
This module is based on img-src-ondemand, the other module that I wrote some time ago to delay image loading to only when they appear on screen. Recently, I wanted to write a new infinite scroll library to replace the use of ngInfiniteScroll which I don't like so much. Reason being it requires you to pass a selector or a selector function as setup so the service can find the infinite scroll container. This doesn't work well if the container is somewhere in a route view. The container should be able to reach the service, so that doesn't matter where it's put, it can work. After some thought, I realized that the logic it requires here is already written in my previous library. Now, I extracted the logic and generalized it, so it can be used in a much wider range.
Demo
Some demos. Scroll down slowly.
Usage
How to use
can be found in tests
The tests are both tests
and examples
See reference is at the end
Examples/Tests
| Example / Test name | Functionality |
|------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|
| test_img_src_ondemand | shows how to reproduce the functionality of img-src-ondemand
module |
| test_infinite_scroll | shows how to implement infinite scroll with this module |
| test_scroll_to_animate | shows how to implement common animation trigger on scrolling to |
| test_scroll_to_end | shows how to trigger the action at the end instead of at the beginning |
| test_scroll_container | shows how to achieve the same effect with a container instead of window
|
| test_lazy_img_in_container | shows how to lazy load images in a container that is not window
|
| test_interval | shows how to check and trigger action more / less often |
| test_offset | shows how to trigger action in advance / with delay in terms of screen position |
| test_trigger_run | shows how to run the action once on load regardless of the screen position |
| test_trigger_active | shows how to conditionally trigger action |
| test_scope | shows scrollTrigger can access the scope on the element, and is able to call functions / retreive data from the scope |
| test_multiple | |
| test_scroll | |
Reference
<div scroll-trigger="doSomething()"></div>
Available Attributes
trigger-run
: runs the trigger when the page is loaded regardless of the relative position of the elementtrigger-at-end
: instead of triggering when the top of the element enters the screen, trigger at the endtrigger-persist
: do not remove the trigger (event listener) after it has been triggeredtrigger-active
: conditionally check screen positionscroll-container
: instead of listening onwindow
, listen on a specific containerscroll-trigger-id
: manually assign a unique identifier
Available configuration
offset
: gives you adjustable spaceinterval
: gives you adjustable timing