新・元地方の中規模印刷会社で苦悩するWebデザイナー改めWebディレクターの日記

自由な20代、窮屈な30代を経て、遂に40代になっちまったWebディレクター&パソコン講師の覚書と思う言(こと)。略称【ちほちゅう】

*

Ajaxもどき第一弾 CSS切替スクリプト

   

  • このエントリーをはてなブックマークに追加

1年以上前の記事です。内容が古い可能性があります。

以前、お話したCSSをフォームで切り替えるスクリプトです。

スポンサーリンク
 

// CSS変換スクリプト(head部/クッキー使用)
dfcss = document.cookie +";";
sp = dfcss.indexOf("mycss",0);
mycss = dfcss.substring(sp + 6,dfcss.indexOf(";",sp));
if (dfcss == ";") { mycss = "none"; }
if ( mycss != "none" ) {
document.write('');
}
function CSSSelect(form, sel) {
c = sel.selectedIndex;
CSSname = sel.options[c].value;
document.cookie = "mycss=" + CSSname + ";expires=Fri, 31-Dec-2030 23:59:59; ";
location.reload();
}

// CSS変換スクリプト(Form部)
document.write('<form name="cssform"><small>※見やすく設定してください(クッキー対応)</small><br />');
document.write('<select name="csssel">');
document.write('<option value="tate">縦置きデザイン</option>');
document.write('<option value="yoko">横置きデザイン</option>');
document.write('<option value="ns4">NetScape4.X用(不完全)</option>');
document.write('<option value="none">スタイルシートなし</option></select>');
document.write('<input type="button" value="変更" onClick="CSSSelect(this.form, csssel)">');
document.write('</form>');

■設定方法

1. クッキーとJavascriptを使います。
2. 上記スクリプトをそれぞれHEAD部とBODY内のフォームの入る位置に配置、リンク可
3. CSSフォルダを対象のHTMLファイルと同じディレクトリに配置。
4. CSSフォルダ内に、各CSSファイル(ここではtate.css等)を置く。

■解説

□head部スクリプト
1行目:クッキー読み込み
2~3行目:クッキーから必要な情報を取り出す
4行目:クッキーが空だったときの処理
5~7行目:クッキーを元にスタイルシートへのリンクタグを書き出す
8行目:CSSSelect()の定義
9行目:選択したオプション番号を取得
10行目:その内容を取得
11行目:クッキーにデータを書き込む(expiresは有効期限)
12行目:ページをリロードする
13行目:CSSSelect()の終了

□フォーム部スクリプト
Javascript非対応ブラウザで閲覧したときに、無駄なフォームを表示させたくなかったのでJavascript化しました。
[変更]をクリックするとCSSSelect()が実行されます。

□実際の動作時の流れ
1.プルダウンを選択し、変更をクリック。
2.クッキーに選択した情報が書き込まれる。
3.書き込まれたクッキーから必要な情報を取り出す。
4.取り出した情報を元にスタイルシートタグを書き出す。
5.クッキーが残っている限り常に同じデザインになる。

一応、クッキー、HTML、Javascriptを使った
Ajax風プログラムになっているような気がしますが、
いかがでしょうか?

 - デザイン, プログラミング

アドセンス広告メイン

Message

メールアドレスが公開されることはありません。

  関連記事

ワードプレス(WordPress)、トップページとは別の場所で記事一覧を表示させる方法 #wp

1年以上前の記事です。内容が古い可能性があります。ワードプレス(WordPres …

デザイナーはハマるはず。ロゴの色を当てていく「Brandseen」

1年以上前の記事です。内容が古い可能性があります。なかなか面白いコンセプトですが …

自分のサイトの外部リンクがどのくらいクリックされているか調べる方法

1年以上前の記事です。内容が古い可能性があります。Google Analytic …

no image
最も短いブラウザ判別スクリプト【JavaScript】

1年以上前の記事です。内容が古い可能性があります。コリスさんに最も短い(と思われ …

no image
Google Chromeでページランクを確認する方法

1年以上前の記事です。内容が古い可能性があります。個人用のAspire ONEに …

縦長すぎる東京スカイツリーのサイトが面白い

1年以上前の記事です。内容が古い可能性があります。5月22日オープン予定の東京ス …

外部JavaScriptはひとまとめにしてしまおう

1年以上前の記事です。内容が古い可能性があります。プロット・ファクトリーCMS化 …

no image
Yomi-Serchに変わる自動リンクシステム

1年以上前の記事です。内容が古い可能性があります。SEO対策の一環として当社では …

「use strict」に対応させる簡単な改造方法【perl】

1年以上前の記事です。内容が古い可能性があります。色々なところでperlのプログ …

アメブロ(アメーバブログ)をちょっといじってみた

1年以上前の記事です。内容が古い可能性があります。先日、アメブロを本格的に始めた …

血液型オヤジ