勉強したことのメモ

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

  関連記事

PHPとajaxでチャットの作成

■ソース ・index.php <? error_reporting(E_ ...

formでGET送信時に空のパラメータを送信しない方法(cleanQuery)

フォームでGET送信する際、通常だと空のパラメータも送信される。結果として「ドメ ...

jQueryの日付&時間のピッカー(bootstrap-datetimepicker)について

日付のピッカーはよく見るけど、時間のピッカーはあまり見ないので、普通のセレクトメ ...

表示範囲を自由に変更可能な折れ線グラフが表示できるJSライブラリ amCharts の使用方法

どこかのサイトを閲覧していた際に、恐らくはJavaScriptのライブラリで描写 ...

formでファイルを選択した際にファイル名やサイズ、形式を調べる方法

フォームで画像などをアップロードする際に「ファイルサイズが大きすぎないか?」「拡 ...