勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

オリジナルのjQueryプラグインを作成する方法

   2024/04/18  jQuery

オリジナルの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/

 

所感

無名関数でくくって、あとは処理内容を書いていくだけで良いみたい。しょっちゅう使うものに関してはプラグイン化してまとめて所持しておくと便利そう。

 

参考サイト

https://webdrawer.net/javascript/jqplugin.html

 - jQuery

  関連記事

Ajaxを使用する際の注意

Ajaxで特にJSONPを使う際によくミスることがあるので 注意点をまとめておく ...

要素の表示or非表示

今まで要素の表示or非表示をCSSで操作する際、 display:none; / ...

Ajaxでプラグイン無しのファイルアップロード方法

画像ファイルを添付できて、尚且つAjaxを用いた非同期通信のフォームを作りたかっ ...

jQueryで指定した可変(レスポンシブ)要素のposition / width / heightを取得する方法

jQueryで指定した要素のposition(leftやtop) / width ...

jQueryでformの各種パーツ(テキストボックス等)の操作まとめ

jQueryでフォームのセレクトメニューやラジオボタン等、各種パーツを操作するこ ...