オリジナルのjQueryプラグインを作成する方法
2024/04/18
オリジナルのjQueryプラグインを作ってみたかった。というのも大抵のものはググったらあるんだけど、よく使うような自作関数や自分で書いたjavascriptをプラグイン化できたらカスタマイズもしやすそう。なので、どうやって作るのか調べたところ、簡単なものならすぐ作られそう。以下に作成方法をメモ。
前提
今回は以下過去記事のソースをプラグイン化する。
https://taitan916.info/blog/archives/107
ソースコード
test.js
(function($) {
$.fn.pagetop = function(scroll = 300){
jQuery("body").append('<!--TOPへ戻る--><a href="#top" id="backtop" style="bottom: 20px;display: none;position: fixed;right: 20px;z-index: 9999; padding: 10px; background: #262626; color:#fff;">TOP</a><!--TOPへ戻る-->');
if (document.addEventListener) {
window.addEventListener("scroll", scrollToggle, false);
} else {
window.attachEvent("onscroll", scrollToggle);
}
function scrollToggle(e){
var scl = document.documentElement.scrollTop || document.body.scrollTop;
document.getElementById("backtop").style.display = scl > scroll ? 'block' : 'none';
}
}
})(jQuery);
index.html
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="test.js"></script>
<script>
$(function(){
$().pagetop();
});
</script>
サンプル
https://taitan916.info/sample/plugin/
所感
無名関数でくくって、あとは処理内容を書いていくだけで良いみたい。しょっちゅう使うものに関してはプラグイン化してまとめて所持しておくと便利そう。
参考サイト
関連記事
-
-
ajaxで複数のデータを渡したい
やりたい事はajaxで複数のデータを渡したい。 ■送信側 var data = ...
-
-
videoタグで表示させた動画をjQuery&CSSでフローティングビデオ対応させる方法
Web上の動画をFloatingVideo対応したいという要望を受けた。ページ上 ...
-
-
JavaScriptで数値のカウントアップ及びカウントダウン
JavaScript(一部jQuery)で数値のカウントアップ及びカウントダウン ...
-
-
jQueryのトースト(通知)用ライブラリ「iziToast.js」の利用方法
システム構築の際、エラー表示をJavaScriptのアラートではなくトースト(通 ...
-
-
jQueryでiframe内の要素を呼び出し
jQueryでiframeで開いたbody内の内容が欲しかった。 ■jQuery ...