勉強したことのメモ

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

  関連記事

jQueryプラグインの作成

面白そうだったのでメモ。 ■参考サイト http://www.entacl.in ...

jQueryで新しく追加した要素に対してイベントがきかない場合の対応

jQueryで新たに追加した要素に対して、 clickイベントを使いたかったけど ...

jQueryにて指定した要素を検索条件から除外するnot()の利用方法

あるソースコードを拝見しているとjQueryでnot()という使ったことの無いメ ...

jQueryでimgタグのsrcを変える

やりたかった事はイベントに応じてimgタグの src内のURLを変更。attrを ...

jQuery UIでカレンダーピッカー(Datepicker)の利用方法

フォーム等で日付を入力する際にカレンダーピッカー機能を実装することがある。その際 ...