次の見出しへ

  • /*
     * @title 次の見出しへ
     * @description 次の見出し(h1,h2,h3,h4,h5,h6要素)の場所へ移動します。
     * @include http://d.hatena.ne.jp/yuggrdrasill/
     * @license MIT License
     * @require 
     */
    
    //jQueryで見出し移動
    var getNowPosition = function() {
        return (document.documentElement.scrollTop || document.body.scrollTop);
    };
    var move =function (el) {
      jQuery(":header").each(function(){
        var linkTop = jQuery(this).offset().top;
        var scrollTop = Math.floor(linkTop);
    
        if(scrollTop > getNowPosition() + 2){
          jQuery("html,body").animate({scrollTop:scrollTop},100);
          return false;
        }
      });
    }
    if (window['jQuery'] &&
        window['jQuery']['fn'] && 
          window['jQuery']['fn']['offset']
       ){
         move();
       } else{
         // config
         var src_url = 'http://code.jquery.com/jquery.min.js';
    
         // jQuery loading
         var s=document.createElement('script');
         s.setAttribute('src',src_url);
         document.getElementsByTagName('body')[0].appendChild(s);
         // jQueryが読み込み終わったら、メッセージを表示する。
         var id = window.setInterval(function(){
           //ファイル読み込みが完了したかどうか知る方法がわからないので、
           //暫定的に最後に定義するプロパティの存在をチェックする
           if (window['jQuery'] &&
               window['jQuery']['fn'] && 
                 window['jQuery']['fn']['offset']
              ){
                window.clearInterval(id);
                move();
              }
         },100);
       } 
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2012/08/13 22:22:47 - 2012-08-13
  2. 2012/08/13 22:10:51 - 2012-08-13