人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ブックマークレットについての質問です。

ページ縦幅の半分上にスクロール
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の知識が少ないこともあり上手く出来ませんでした。
どのように書けばスムーススクロールとページ半分のスクロールを実現出来るのでしょうか?

●質問者: hellfencer
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 7cc
●200ポイント ベストアンサー

ページ縦幅の半分 ・・・ 結構移動しちゃいますけど、その距離で大丈夫でしょうか?
とりあえず下に移動するコードを置いておくので動作確認してください。

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)

})()

hellfencerさんのコメント
ありがとうございます!PCのブラウザ、スマートフォンともに動作しました。 半分上に移動させるバージョンも作って、こちらも動作確認出来ました。 まさに求めていた物で大変感謝しております。 縦幅の半分はPCだと移動しすぎに見えますが、 スマートフォンの画面およびスマホ用サイトの縦長な環境で使いたかったのです。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ