‘JavaScript’ タグのついている投稿

ページ内するする移動

2007 年 4 月 4 日 水曜日

乗り遅れている感が漂いますが、ページ内リンクをスムーススクロールする JavaScript に興味を持ったので自分用メモに残しておきます。

「トップに戻る」特化型

まず、 SiMPLE*SiMPLE さんの紹介でご存じの方も多いであろう A (slightly) better technique for "Back to Top" links. 。「トップに戻る」ことにのみ特化しています。

他に、「トップに戻る」ことにのみ特化しているというのであれば Smooth Scroll もあります。

トップに戻るだけならこれで十分です。……なのですが、他のリンクも全部やりたい、と思うとこれだけでは不十分でした。

全体有効 (name)

ページ内リンクでスムーススクロール は、prototype.js が必要です。

また、Smooth scrolling もあります。ただし、この両者に共通するのは name 属性限定と言うこと。気付かずに、なぜ動かないのかと頭を抱えてしまいました。

見出し要素に name 属性は指定できませんので、それは困ります。個別記事表示での「leave a response(コメントをどうぞ)」などにスムーススクロールが効かないのですから。かといってそれら全てに a 要素を指定していくのもわだかまりが残ります。

id 属性でも動くものを探しました。

全体有効 (id)

そこで見つけたのが The Tiny Scrolling。求めていたもの全て、という感じでした。

しかし人は我儘なもので、いくつも JavaScript を読み込むのは面倒だな、と思うようになってきました。

Lightbox ライブラリを moo.fx ベースの Litebox から mootools ベースの Slimbox に乗り換えたこともあって、プラグインの SmoothScroll を使うことにしました。

デモがあるのでそのまま使っています。

WordPress プラグイン利用例

WordPress の新作プラグイン、 WP-Modore でも A (slightly) better technique for "Back to Top" links. のコードが組み込まれていますね。有効化するだけでするするーっとトップに戻るボタンが出現します。

また、最近アップデートされた WP-Footnotes ((記事執筆時点でのバージョンは 1.3.1 。)) でも、オプションでスムーススクロールできるようになっていました。使っているのは Animated Page Scrolling というものみたいです。本当に色々ありますね。

余談

どうも、ページの使いやすさ向上スクリプト Website Options と mootools の相性が良くないようです。仕方無いので Website Options をオフに……。外部リンクを別ウィンドウで開きたいときはキーボードショートカットなどを使ってください。

まだまだ他にも色々なスクリプトがあると思います。実際いくつも見つけました。試してみたいのは山々ですが、安住の地を見つけてしまったので今回はここまでです。

やりたいこととサイトの重さ

2006 年 10 月 22 日 日曜日

予め言っておきますが、オチがありません。

現在の状態

サイトを華やかにしたいと誰しも思っていると思います。と、言うより私がそう思っています。が、当然のことながら画像をガンガン使い、 JavaScript をばしばし使うと目も当てられないほど重くなってしまいます。

ありがたいことに私は FTTH ではないもののそこそこの速度で通信が出来るので、自分が「うっ」という状態にはあまりならないのですが、当サイトでもちょっと重いぞ、という方がいらっしゃる辺り少なくともサイズは現状維持がベストかな、と思っております。

やりたいこと

それはさておき、 JavaScript で何がやりたいのか。いろいろあるのですが、

サムネイルクリックで画像を表示

スライドショー系

ページ内リンクをするるるーっと

いきなり変なところにとばされると迷子になった気分です。

ナビゲーションをずるるるーっと

割と何を使っても出来ます。 WordPress のテーマでこのギミックを使っているのは

などなど。省スペースの上、見た目も楽しいのですがやり方によっては読み込み中に内容が全て見えてしまうのが難点。上部にナビゲーションがあると特に。

ツールチップ系

あると目を引きます。なくても別に構わないのかもしれませんが。

フォーム系

余裕があれば。

その他

思うに

script.aculo.usmoo.fxPrototype ベースですから ((とは言え、 moo.fx の方は私がやりたがっているような視覚効果のみにしぼってあるのでずいぶん軽いのですが。))、どうしたって重くなってしまいます。今現在の最新版、 1.4.0 での prototype.js は47kb もあるのですよ。むむ。

単発機能特化型のものをいくつか使うのか、ベースを一個定めて周辺で揃えるのか。これは試してみるほかなさそうです。

Litebox に乗り換え

2006 年 7 月 9 日 日曜日

トップページで 100 kb

Litebox に乗り換えました。右の画像をクリックするとずもももーっと原寸大画像が表示されます。おなじみです。まだ軽い、はず……。アンケートによると、まあ平気、余裕だと言う閲覧者さんによる投票が多いので、 Lightbox 復活です。 IE ユーザーさんも多いですしね。

Waviaei さんの Litebox と Lightbox という記事にて導入でつまずきがちなところが丁寧に解説されています。必要ないページで読み込ませない Tips もあります。WordPress のプラグインは素敵なのですが、自力でやった方が良いこともあるんだなと思いました。

重いよー! と仰る、まだ投票していない方は下のアンケートにご協力を。もちろん、大丈夫、と言う方もよろしくお願いします。いかんせん画像多めなので、他の所をどれほど削れば丁度良いのか、加減がつかめないのです。

何気なく Firefox の拡張機能、 Web Developer の 情報 > ページのサイズを表示する で見てみたところなんとトップページで 100 kb 。これでもかなり減らしたのですが。うーむ。

ささやかに使い易く リンク編 2

2006 年 7 月 1 日 土曜日

チェックを入れるだけです

ささやかに使い勝手の良いサイトにしてみよう計画その1、リンク編。

外部リンクを新しいウィンドウに開くかどうかと言うのは議論が分かれるところです。ですが、どちらかを選べば必然的にどちらかを切らねばなりません。

そういうわけで長い間 Website Options のお世話になっています。

導入の経緯などは外部リンクは別窓で? をご覧下さい。

“外部リンクは別の作業領域で開く” にチェックを入れれば、外部リンクが新しいウィンドウで開きます。 Link Indication Plugin で外部リンクもはっきり区別されているので、いきなり開いて驚くことは少ないはずです。 Link Indication Plugin はサイドバーやフッターでは適用されませんから、そこははっとするかもしれません。

Link Indication Plugin、hreflang 属性の指定と CSS 、 Website Optionsにより、サイト内のリンクがかなり分かりやすくなったはず (当社比) です。

外部リンクは別窓で?

2005 年 10 月 26 日 水曜日

ある日 Web 上のどこかを彷徨っていたら「外部リンクは別の作業領域で開く」というチェックボックスがありました。なんでも、チェックを入れておくと外部リンクを新しいウィンドウで開けるのだそうです。

Firefox + Tab Mix Plus + 中クリックで大抵の場合事足りるので深く考えていなかったのですが、外部リンクは新規ウィンドウでないと嫌、という方もいらっしゃるのでしょう。それを考えると選択を閲覧者に委ねるのは効率がよいと思いました。

早速開発元を探して設置。 read a little. さんの Preferred Style Generator Website Options というそうです。他にも動的なスタイルシートの切り替え、WinIE に abbr 要素を正しく認識させる等々、大変便利なスクリプトです。

一応「外部リンクを新しいウィンドウで開く」だけ適用中です。新規ウィンドウで開きたい方は「外部リンクは別の作業領域で開く」と書いてあるチェックボックスをチェックしてみてください。

凄いものを作る方がいらっしゃるものだとサイトを拝見していたら、 P_Blog のことを調べている最中に通りがかったことがあります、この方の日記に。やはり P_Blog のユーザーさんって技術者の方が多いのではないのでしょうか。ファイルを配布する機能もあることですし。私のような素人が使っていて申し訳ないです。

参考リンク : 外部リンクに対する考察

IE での可変幅

2005 年 10 月 13 日 木曜日

CSS でサイトのデザインをするようになって、リキッドデザイン ((サイズ可変デザイン、見栄えがウィンドウサイズに依存しない))っていいな、と思うようになりました。しかし、いくら水のように相対的に横幅が変わっても、限度というものがあります。

ここで活躍するのが max-width と min-width 。これを指定しておけば幅の最大値と最小値が設定されるので、びろびろに広がるのとも、ぎちぎちに詰まるのともおさらばです。が、こんなに便利なプロパティなのに IE では対応していないのです。 IE ユーザーはシェアの大部分を占めているわけですから無視するわけにはいきません。

そう思っていたところで、 Napdays さんで毎回美しいデザインにうっとりしつつ、リニューアル 2005年10月を読んでいると、

IEでもmin/maxを実現するために、doxdesk.comminmax.jsを使用しています。

これは求めているものそのままではないですか。

JavaScript で擬似的に実現させているようです。他に日本語での情報はないだろうかと探したところ、サイケデリックビビアンさんで IEでmin-widthとmax-width 、という記事が。読み進めてゆくと、え? P_Blog ? 慌ててこのサイトを IE で見てみます。ウィンドウサイズを変えてみると、あ。

笑って幅可変デザインを試すことができそうですははは。

P_Blog を使い始めて早三ヶ月、全然気付いておりませんでした。

そういえば、 IE7 ってどうなるのでしょうか。上記の max/min-width はもちろん、 margin に auto を指定しても効かない、とか、半透明 PNG に対応していない、なんていうのにはとっとと対応してもらわないと困るのですが、「 Windows XP SP2 とそれ以降」向けだけだと、使えない人もいるはずですから、困ったものです。あまり期待はしていませんが。

というような長い記事を3度ほど消してしまったうつけ者は私です。同じ過ちを犯さぬようにお気をつけ下さい。