zudolab jqStyleswitcher

概要

zudolab jqStyleswitcherは、代替スタイルシートのJavaScriptによる切り替えを実装します。
jQueryプラグインとして動作します。

著者

高津戸壮 (Takazudo) [website] [mail]

使用方法

基本セットアップ例

  1. jQuery、"jqCookie.js"、"jqStyleswitcher.js" を読み込みます。
  2. (X)HTMLのhead内、"jqStyleswitcher.js" を読み込むタイミングよりも先に、以下のように、代替スタイルシートのためのlink要素を用意します。

    <link rel="stylesheet" type="text/css" href="style_standard.css" title="standard" />
    <link rel="alternate stylesheet" type="text/css" href="style_larger.css" title="larger" />
    <link rel="alternate stylesheet" type="text/css" href="style_largest.css" title="largest" />

    title属性の値は、そのスタイルシートファイルに割り当てたい名称を指定します。ここではfont-sizeの切り替えを行うための例として説明しますので、standard, larger, largestとしています。

  3. 以下のメソッドを呼ぶことで、アクティブにしたい代替スタイルシートを切り替えることができます。STYLESHEET_TITLE_ATTRIBUTE_VALUEには、有効にしたいlink要素のtitle属性値を入れます。

    styleswitcher.setActiveCSS(STYLESHEET_TITLE_ATTRIBUTE_VALUE)".

    以下が、このメソッドを呼ぶためのスイッチとなるコードの例です。
    各a要素をクリックした時に、対応するスタイルシートファイルが有効になります。

    <ul>
        <li><a href="javascript:void(0)" onclick="styleswitcher.setActiveCSS('standard')">standard</a></li>
        <li><a href="javascript:void(0)" onclick="styleswitcher.setActiveCSS('larger')">larger</a></li>
        <li><a href="javascript:void(0)" onclick="styleswitcher.setActiveCSS('largest')">largest</a></li>
    </ul>

    最後に有効にしたスタイルシートファイルは、cookieに保存され、同一のドメイン内に存在するページであれば、他のページに移動しても有効になったままになります。

対象ブラウザ

このスクリプトは、以下のブラウザで動作します。

  • Internet Explorer 6+
  • Firefox 2+
  • Safari 2.0.4+
  • Opera 9.6+

このスクリプトが動作しないブラウザを見つけたら、ご報告していただけると幸いです。
(古いブラウザをサポートすることはできませんが)

依存スクリプト

このスクリプトは、jQuery1.2.6と、Cookie plugin for jQueryを利用して作られています。
新しいバージョンのjQueryで動かないなどありましたら、ご報告していただけると幸いです。

ライセンス

このスクリプトは、MITライセンスの元に配布します。
著作者のクレジットを明記する場合に限り、商用、非商用問わず、自己責任で自由にご利用いただけます。

更新ログ

date version notes
2009/1/5 1 初版リリース

FAQ

何か不明な点があればお問い合わせください。 takazudo@gmail.com

謝辞

このスクリプトは、A List Apartに投稿された、Alternative Style: Working With Alternate Style Sheets by Paul Sowden を参考に作成しました。
この場を借りてPaul Sowden氏に感謝の意を表します。