ngx-scroll-lock
v9.1.1
Published
Angular module for Page Scroll locking
Downloads
441
Maintainers
Readme
NGX Scroll locker
Angular module for Page Scroll locking
Why scroll lock?
The idea of this component is make the process of locking the page scroll transparent and easier. So the main point is integrate this component with other tooling process, such as:
- When open a modal component
- Open a hamburguer menu
- Any other that you like :)
It's totally transparent for you and you can integrate easier in your application, improving your user experience 🎉
Demo
Try out our demo on Stackblitz!
Install
You can get it on NPM installing ngx-scroll-lock
module as a project dependency.
npm install ngx-scroll-lock --save
Setup
You'll need to add NgxScrollLockModule
to your application module. So that, the <ngx-scroll-lock>
components will be accessible in your application.
...
import { NgxScrollLockModule } from 'ngx-scroll-lock';
...
@NgModule({
declarations: [
YourAppComponent
],
imports: [
...
NgxScrollLockModule,
...
],
providers: [],
bootstrap: [YourAppComponent]
})
export class YourAppComponent {}
After that, you can use the ngx-scroll-lock
component in your templates, passing the target
element into the component itself and/or .
target
: DOM element to be locked. Default:document.body
;lock
: Boolean to be changed in case a scroll lock is needed from outsidengx-scroll-lock
component;
import { Component } from "@angular/core";
@Component({
selector: "my-app",
templateUrl: "./app.component.html",
styleUrls: ["./app.component.css"],
})
export class AppComponent {
lock = false;
target = "#my-element-with-scroll";
}
<ngx-scroll-lock [lock]="lock" [target]="target"></ngx-scroll-lock>
<div id="my-element-with-scroll"></div>
Please make sure you have the
target
element available when using it.
Development
Run demo locally
- This project uses Angular CLI as base. That means you just need to run
npm start
and access the linkhttp://localhost:4200
in your browser
Run tests
- Run
npm test
for run tests. In case you want to test using watch, please usenpm run tdd
Publish
this project is using np
package to publish, which makes things straightforward. EX: np <patch|minor|major> --contents=dist/ngx-scroll-lock
For more details, please check np package on npmjs.com
Contribute
For any type of contribution, please follow the instructions in CONTRIBUTING.md and read CODE_OF_CONDUCT.md files.
Author
Wilson Mendes (willmendesneto)