
Security News
PodRocket Podcast: Inside the Recent npm Supply Chain Attacks
Socket CEO Feross Aboukhadijeh discusses the recent npm supply chain attacks on PodRocket, covering novel attack vectors and how developers can protect themselves.
@dadajam4/scroller
Advanced tools
本モジュールは大きく2つの機能を提供します。
Scrollerクラス DOM要素(DocumentElement含む)のスクロール情報を検知したり、スムーススクロールさせるためのクラスモジュールです。 ブラウザJS、Node.jsの両環境でユニバーサルに動作します。(Node.js上では処理がキャンセルされます) そのためSPAサービス等にそのまま組み込んで利用する事が可能です。 また、TypeScriptの型情報を併せ持つため、TypeScriptプロジェクトにおいて型情報を利用したコーディングが可能です。
スムーススクロール系メソッド root要素(document.scrollingElement)、もしくは任意のElementにおいてスムーススクロールさせるためのメソッドです。 これら全てのメソッドはScrollerクラスに含まれていますが、「スクロールだけを行えれば良い」場合こちらを直接利用します。
npm install @dadajam4/scroller --save
Scrollerクラスにおいて自身のスクロール領域のリサイズを検知するためにResizeObserverを利用します。(※スムーススクロール系メソッドでは必要ありません)未対応ブラウザにおいてはresize-observer-polyfillの利用をお勧めします。
import ResizeObserver from 'resize-observer-polyfill';
if (typeof window !== 'undefined' && !window.ResizeObserver) {
window.ResizeObserver = ResizeObserver;
}
import ResizeObserver from 'resize-observer-polyfill';
if (typeof window !== 'undefined' && !(window as any).ResizeObserver) {
(window as any).ResizeObserver = ResizeObserver;
}
import Scroller from '@dadajam4/scroller';
// Elementを未指定、かつブラウザ上である場合は
// ducument.scrollingElement が自動設定されます。
const scroller = new Scroller();
scroller.on('scrollEnd', e => {
console.log(e.totalAmmount);
});
SomeVueComponent = Vue.extend({
data() {
return {
innerScrollTop: 0,
// ...and more observable keys
}
},
computed: {
scrollTop: {
get() { return this.innerScrollTop },
set(scrollTop) {
this.innerScrollTop = scrollTop;
// >>> some actions...
},
},
// ...and more observable keys
},
methods: {
toElement(queryString) {
this._scroller.toElement(queryString);
},
},
created() {
this._scroller = new Scroller(this.$el);
this._scroller.observe(this);
},
beforeDestroy() {
this._scroller.destroy();
delete this._scroller;
},
});
// 必要に応じてメソッドをimportします
import {
scrollBy,
scrollTo,
scrollToElement,
scrollToSide,
scrollToTop,
scrollToRight,
scrollToBottom,
scrollToLeft,
scrollToLeftTop,
scrollToLeftBottom,
scrollToRightTop,
scrollToRightBottom,
} from '@dadajam4/scroller';
const result = scrollToElement('#some-element');
result.promise.then(() => {
// >>> スクロール完了後の処理,,,
});
FAQs
Service for DOM Element Scroll.
The npm package @dadajam4/scroller receives a total of 3 weekly downloads. As such, @dadajam4/scroller popularity was classified as not popular.
We found that @dadajam4/scroller demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
Socket CEO Feross Aboukhadijeh discusses the recent npm supply chain attacks on PodRocket, covering novel attack vectors and how developers can protect themselves.
Security News
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.
Product
Socket Firewall is a free tool that blocks malicious packages at install time, giving developers proactive protection against rising supply chain attacks.