ページ縦幅の半分上にスクロール
javascript:window.scrollBy(0,-document.height/2)
ページ縦幅の半分下にスクロール
javascript:window.scrollBy(0,document.height/2)
上記2つのブックマークレットを、いわゆるスムーススクロールと呼ばれるような滑らかな動きでスクロールさせたいです。
http://d.hatena.ne.jp/zzz4sk/20110913/1315902649
↑こちらの最上部へスクロールするブックマークレット(【追記2】の不具合修正版)を参考に作ってみようとしたのですが、
私のjavascriptの知識が少ないこともあり上手く出来ませんでした。
どのように書けばスムーススクロールとページ半分のスクロールを実現出来るのでしょうか?
ページ縦幅の半分 ・・・ 結構移動しちゃいますけど、その距離で大丈夫でしょうか?
とりあえず下に移動するコードを置いておくので動作確認してください。
javascript: (function(){ var root; if ( document.documentElement.scrollTop ) { root = document.documentElement; }else if (document.body.scrollTop ) { root = document.body; }else { scrollBy(0, 1); root = document.body.scrollTop ? document.body : document.documentElement; }; var scrollDistance = root.scrollHeight/2 , count = 1; var timeID = window.setInterval(function(){ scrollBy(0, scrollDistance/100); if(count++ === 100){ clearInterval(timeID); } }, 10) })()
↑を使うとjQueryなども組み込めて楽ですよ。