伊藤清徳の垂直落下式ムーンサルトプレス伊藤清徳の垂直落下式ムーンサルトプレスPerlとかPHPとかMySQLとか...がんばっても8割だ。CommentsPHPは何かと叩かれやすい言語。私もPHP使う人間だが、PHPだけを利用するのはあまりよくないと思っている。実践の場で簡単にフィードバックできる「ツール」くらいの感覚で利用している。その辺の議論は、ググるといっぱいでてくるので、ここまで。「ツール」という言葉を出したとおり、PHPは、良くも悪くもWEBで利用するにはとても便利な便利な関数がそろえられている。この関数をJavascriptへユーザー定義関数として実装してしまおう!というのが「PHP.js」です。http://kevin.vanzonneveld.net/techblog/article/phpjs_licensing/関数別に説明ページとソースがある。関数別にソースを拝借して、利用したほうがよさそうだ。個人的にmd5()、file_get_contents(),basename(),dirname()あたりを良く使いそうな予感。scriptaculous.jsでスムーススクロール。Commentsスムーススクロールを使いたいときのメモ。スクロールする方法です。jQueryの場合は、http://coliss.com/articles/build-websites/operation/javascript/296.html↑こちらが良さげです。(さまざまなエフェクトが用意されているjQueryに標準で用意されていないのが意外でした。)あ、そうそう、scriptaculous.jsのダウンロードはこちらで、、、http://script.aculo.us/では、実装。src="scriptaculous.js?load=effects"></script>↑まずはライブラリをHTMLにロードしてやらないことにはお話にならないので、ロードしましょう。スクロール先のエレメントを用意します。id="scrollToID"></a>とか。エレメントがあればブロック要素だろうがアンカーだろうがスクロールしてくれるみたいです。スクロールする関数を用意しましょう。Effect.ScrollTo(id);}</script>たったこれだけ。Effect.ScrollTo(スクロールさせたいエレメントのID);↑そう、たったこれだけなのだ。第二引数でオプションを指定して、スクロールする時間を変えたり、スクロール完了後のコールバック関数を指定できたりするらしい。詳しくはこちらをご覧下され。最後は、定義した関数を呼び出すだけ。href="javascript:_scrollTo('scrollToID');">クリックしてね☆</a>リンクでやるならこんな感じね。アンカーへジャンプするのの代わりに使うとかっちょいいサイトになるんじゃないかな。ボタンでやるならonclick属性で関数を呼び出してあげましょう。ちなみに、アニメーションなしでスクロールするには、Element.scrollTo(スクロール先のエレメントID);を使います。こちらは、よりアンカータグへのジャンプに似た動きをします。<a>タグを使ってアンカーへジャンプした場合、ジャンプ前のURLとジャンプ後のURLが、WEBブラウザの履歴に残ってしまい、エンドユーザーに迷惑をかけることが多々ありますが、この方法なら、そんなことはありません。ちなみに、当然といえば当然ですが、CSSで「display:none;」などを指定して見えていないエレメントへはスクロールしません。scriptaculous.jsのEffect.BlindDown関数などを使って表示/非表示の切替を行っている場合などは、確実に表示が完了した時点で、スクロールを開始しなければ、ページ最上部へスクロールされてしまうので注意が必要です。動かしてみたところ、私の環境では、Firefoxでうまく動いてくれませんでした。なんだかよく分からず小一時間悩んだところ、http://d.hatena.ne.jp/zariganitosh/20081006こちらのページの「スクロールアニメーションしない時...」を実践したところ、うまく動きました。読んでも理屈が良く分からない・・・。