画像のロールオーバーを自動化するJavascript

はてなブックマーク数 2008年4月24日 09:44

さて、ちょっと仕事で簡単なJavascriptを作る機会があったのでそれを公開してみる。
(記事が最近全然書けてなかったから間に合わせってわけじゃありません・・たぶん)

最近たまに思うのが、CSSで無理にロールオーバーを実装しなくてもいいんじゃないか、ということ。
背景だけを変更する、とかならむしろCSSが最適解なんだと思うのだけど、テキストごと置換してしまうような場合はJavascriptのほうが手軽だし、altも効くしいいのかなと。
Javascriptオフの人に対しては動きがなくなるけど、むしろオフの人はそういう動きを嫌っているのだからロールオーバーの効果がなくても問題ないのかなと。

Javascriptオフの場合にレイアウトが大幅に崩れてしまうような使い方はNGだと思うけど、ちょっとした利便性のための効果、くらいならJavascriptで実装してもいいと思う。

さて、前置きが長くなりましたが、作成したサンプルはこちらです。
画像のロールオーバーを自動化するJavascriptサンプル

"画像のロールオーバーを自動化する"サンプルダウンロード

実装は簡単で、javascriptを読み込ませてbodyのonloadでスクリプトを実行するだけで、指定のクラス名がついた画像に対してロールオーバーの処理を自動で付与する、というものです。

2行追加するだけで、簡単にIE6でもmin-heightを実現する方法

はてなブックマーク数 2008年3月27日 15:11

CREAMUさんのところで書かれていたCSSでmin-heightをクロスブラウザにする最も簡単な方法『Easiest cross-browser CSS min-height』を参考に、サンプルを作ってみました。

自分でも覚えておきたいので備忘録的にもエントリーw
ちょっと前に書いた『CSSの1行でできるIE6対策(ハック)』と同じテクニックを使ったものです。
IE6で下のサンプルを見てもらうとわかると思いますが、見事にmin-heightと同じ挙動をしています。

サンプル

2行追加するだけで、簡単にIE6でもmin-heightを実現する方法サンプル

解説は以下から。

クラスを追加するだけで簡単にページ内分割を実装するJavascript

はてなブックマーク数 2008年3月17日 10:17

※追記[2008/03/21]
機能を若干拡張しました。
自動生成されたページング部分に、ページ内リンクを設定しました。
これにより、ページ内リンクを含んだリンク(ex. index.html#no3など)を設定しておくことで自動的に該当のページ部分を表示するように修正しました。
また、ページ内リンクはページを移動する際に自動で付与されます。

▼サンプルURL
http://css-eblog.com/eblog_sample/0803/paging/#no12


ちょっとした不具合があったので修正しました(;´д`)(2008/03/17 21:33現在)

ページをやたらと細切れにしてPV数を稼ごうとするメディアサイトの問題と解決策 | Web担当者Forumの記事受けて、ページ分割を簡単に実装できるJavascriptを作ってみました。


▼サンプル
ページングサンプル


クラスを追加するだけで簡単にページ内分割を実装するJavascriptサンプルはこちら


»サンプルダウンロード

使い方はとても簡単で、分割したい要素にクラス名を追加するだけです。
※Javascriptオフの場合は、分割をなくしてすべてを表示します。

以下、使い方を。

左右に余白のある横並びのリストを親要素の両端にぴったりとくっつける小技

はてなブックマーク数 2008年3月11日 16:43

floatさせてリストを横に並べる機会は結構あると思います。
メニューなんかの場合はそれぞれのリスト要素を余白を空けずに並べたりしますが、
通常のリストなんかの場合は左右どちらかに余白を空けて並べるのが通常だと思います。

その際、当然marginを使ってそれぞれのリストとの余白を空けますが、
すべてが同じCSSが適用されるため、marginを指定したくない(大概は最後の)要素が出てきます。
最後の部分に別途クラスを指定するか、CSS3であれば3回に1回の部分はmarginを消す、
なんていうフレキシブルな対応ができますが、CSS3はまだまだ実装されてきているとは言えません。

そこで、現状でも使えるプロパティのみで親要素の両端にぴったりとくっつくように
リスト要素を収める方法を書いてみました。

左右に余白のある横並びのリストを親要素の両端にぴったりとくっつける小技サンプル

CSSの1行でできるIE6対策(ハック)

はてなブックマーク数 2008年3月 5日 17:33

Internet Qualityさんの所の紹介エントリーにあったサイトで、IE6だけにうまくCSSを適用しているサイトがあったので、自分のメモとしてもエントリー。

Example: margin: 20px !important; margin: 10px;

サンプルを見ると、ごく簡単な処理になってます。
通常、importantを指定したスタイルが適用されますが、どうやらIE6の場合、同じセレクタ内の場合はimportantで書かれていても、そのあとに書かれた同じスタイルが適用されてしまうようです。

なので、IE6だけに適用したいものなんかは、ハックを使わずにこんな感じで適用するとスマートかも。ただし、imporantを使ってるので、他のところで上書きしようとしてもできないので、通常のハック同様、乱用は禁物ですが・・・。