複合カラーエディタ
ver.3.0
 
 ◆サンプル

背景色
文字色
赤: 緑: 青:
    <機能と特徴>
 
 ・カラーエディタで作成した色に背景色・文字色を変更できます。

 ・ボタンを押し続けるとどんどん数値が変化します。
 



 

公開日 2002.3.10
最終更新日 2003.6.15
バージョン ver.3.0
動作確認 IE6.0,NN4.7,NN7.0,Opera7.0
cookie 使用(NN4のみ)
CSS 使用
更新履歴 2002.03.20 ver.1.1 netscape6の不具合を改善,スタイルシートに対応(変更点:全般)
2002.05.01 ver1.2 NN6で文字色の数値が変更できない点を修正
NN4の動作を改良
NN6でレイアウトが崩れる点を修正(変更点:ソース1,2,3)
2002.10.24 ver2.0 スクリプトを簡略化
エディタ部分のデザインを変更(変更点:ソース全般)
2003.06.15 ver.3.0 全般の動作を改良(変更点:ソース全般)

 

☆★☆使い方☆★☆
 
 初心者向け解説   中級者向け解説   ダウンロード 

1.カスタマイズフォームを使って設定をしてください。

2.ソース1を<head>〜</head>の間に書き込んでください。

3.ソース2を<body>〜</body>の間の
  カラーエディタを表示したい位置に書き込んでください。

4.ブラウザでテストしてみてください。
  正常に動作すれば設置は完了です。
 
 
 初心者向け解説   中級者向け解説   ダウンロード 

1.ソース1を<head>〜</head>の間に書き込んでください

2.ソース2を<body>〜</body>の間の
  カラーエディタを表示した居場所に書き込んでください。

3.ブラウザでテストしてみてください。
  正常に動作すれば設置は完了です。
 
 
 初心者向け解説   中級者向け解説   ダウンロード 
 
ダウンロードする形式を選択してください。

 【スクリプトを1つのページに組み込む】 

1.カスタマイズフォームを使って設定をする場合は、
  ダウンロードの前に設定をしてください。

2.右のボタンを押してファイルをダウンロードしてください。

 【スクリプトを外部ファイルにする(設定は一括)】 

1.カスタマイズフォームを使って設定をする場合は、
  ダウンロードの前に設定をしてください。

2.右のボタンを押して外部ファイルをダウンロードしてください。
 
3.保存した外部ファイルのファイル名を入力してください。
   (ファイルのパスでも可)
 
4.右のボタンを押してHTMLファイルをダウンロードしてください。

 【スクリプトを外部ファイルにする(設定は各ページ毎)】 

1.カスタマイズフォームを使って設定をする場合は、
  ダウンロードの前に設定をしてください。
 
2.右のボタンを押して外部ファイルをダウンロードしてください。
 
3.保存した外部ファイルのファイル名を入力してください。
   (ファイルのパスでも可)
 
4.右のボタンを押してHTMLファイルをダウンロードしてください。
 
5.複数のページが必要な場合は、カスタマイズフォームで設定をし
  再度HTMLファイルのみダウンロードしてください。
 

 
 
 
 カスタマイズフォーム   補足説明   改造方法 
 
色見本の横幅: (半角数字:正の整数)
色見本の縦幅: (半角数字:正の整数)
カラーエディタの初期値(背景色): (RGB値)
カラーエディタの初期値(文字色): (RGB値)
クッキーの名前: (半角英数字)
(通常は変更の必要はありません)
文字色変更ボタンの文字:
 
 カスタマイズフォーム   補足説明   改造方法 
 
特にありません。
 
 カスタマイズフォーム   補足説明   改造方法 
 
色見本部分の大きさを変更する。(半角数字:正の整数)

//設定〜//ここまでの1〜2行目を変更してください。
c_a_width  = 64;
c_a_height = 14;
カラーエディタの初期の色を変更する。(RGB値)

//設定〜//ここまでの3〜4行目を変更してください。
3行目が背景色、4行目が文字色の初期値です。
c_a_shoki1  = '#999999';
c_a_shoki2  = '#333333';
クッキーの名前を変更する。(半角英数字)

//設定〜//ここまでの5行目を変更してください。
通常は変更の必要はありません。
c_a_cookie = 'c_a_cookie';
  
 
 
  

ソース1(以下のソースを<head>〜</head>の間に書き込んでください)  
 
<script language="JavaScript" type="text/javascript">
<!--//Script Created by あう,http://www5c.biglobe.ne.jp/~horoau/
    //ver.3.0

//設定 c_a_width = 64; //色見本の横幅 c_a_height = 14; //色見本の縦幅 c_a_shoki1 = '#999999'; //カラーエディタの初期値(背景色) c_a_shoki2 = '#333333'; //カラーエディタの初期値(文字色) c_a_cookie = 'c_a_cookie'; //クッキーの名前 //ここまで
c_a_temp = 1; c_a_stoper = 0; id = "";
function c_a_shoki_rgb() {document.forms["c_a_form"].elements["c_a_rgb1"].value = c_a_shoki1; document.forms["c_a_form"].elements["c_a_rgb2"].value = c_a_shoki2;}
function c_a_check_rgb() {with(document) {if(forms["c_a_form"].elements["c_a_rgb"+c_a_temp].value.replace("#","").length != 6) {return;} temp = forms["c_a_form"].elements["c_a_rgb"+c_a_temp].value.replace("#",""); forms["c_a_form"].elements["c_a_red"].value = parseInt(temp.substring(0,2),16).toString(10); forms["c_a_form"].elements["c_a_green"].value = parseInt(temp.substring(2,4),16).toString(10); forms["c_a_form"].elements["c_a_blue"].value = parseInt(temp.substring(4,6),16).toString(10);}}
function c_a_spacer() {if(document.layers) {with(document.layers["c_a_color"].document) {open(); write('<spacer type="block" width="'+c_a_width+'" height="'+c_a_height+'">'); close();}}}
function c_a_sreach() {with(document) {if((forms["c_a_form"].elements["c_a_red"].value-0) > 255) {forms["c_a_form"].elements["c_a_red"].value = 255;} else if((forms["c_a_form"].elements["c_a_green"].value-0) > 255) {forms["c_a_form"].elements["c_a_green"].value = 255;} else if((forms["c_a_form"].elements["c_a_blue"].value-0) > 255) {forms["c_a_form"].elements["c_a_blue"].value = 255;} else if((forms["c_a_form"].elements["c_a_red"].value-0) < 0) {forms["c_a_form"].elements["c_a_red"].value = 0;} else if((forms["c_a_form"].elements["c_a_green"].value-0) < 0) {forms["c_a_form"].elements["c_a_green"].value = 0;} else if((forms["c_a_form"].elements["c_a_blue"].value-0) < 0) {forms["c_a_form"].elements["c_a_blue"].value = 0;} temp_r = (forms["c_a_form"].elements["c_a_red"].value-0).toString(16); if(temp_r.length == 1) {temp_r = "0"+temp_r;} temp_g = (forms["c_a_form"].elements["c_a_green"].value-0).toString(16); if(temp_g.length == 1) {temp_g = "0"+temp_g;} temp_b = (forms["c_a_form"].elements["c_a_blue"].value-0).toString(16); if(temp_b.length == 1) {temp_b = "0"+temp_b;} temp_rgb = "#"+temp_r+temp_g+temp_b; if(!c_a_stoper) {forms["c_a_form"].elements["c_a_rgb"+c_a_temp].value = temp_rgb;} if(document.all) {all("c_a_color").style.background = temp_rgb;} else if(document.getElementById) {getElementById("c_a_color").style.background = temp_rgb;} else if(document.layers) {layers["c_a_color"].bgColor = temp_rgb;}} setTimeout('c_a_sreach()',200);}
function c_a_edit_start(posi,i) {clearTimeout(id); with(document) {temp = forms["c_a_form"].elements["c_a_"+posi].value-0+i if(temp > 255) {temp = 255;} else if(temp < 0) {temp = 0;} forms["c_a_form"].elements["c_a_"+posi].value = temp;} id = setTimeout('c_a_edit_start("'+posi+'",'+i+');',50);}
function c_a_edit_stop() {clearTimeout(id);}
function c_a_stop() {c_a_stoper = 1;}
function c_a_start() {c_a_stoper = 0;}
function change_color() {with(document) {temp1 = forms["c_a_form"].elements["c_a_rgb1"].value; temp2 = forms["c_a_form"].elements["c_a_rgb2"].value; if(document.all) {all.tags("body")[0].style.background = temp1; all.tags("body")[0].style.color = temp2;} else if(document.getElementById) {getElementsByTagName("body")[0].style.background = temp1; getElementsByTagName("body")[0].style.color = temp2;} else if(document.layers) {c_a_date = new Date(); c_a_date.setTime(new Date().getTime()+15*1000); cookie=c_a_cookie+"="+temp1+'-'+temp2+"; expires="+c_a_date.toGMTString()+";"; if(cookie.indexOf(c_a_cookie+"="+temp1+'-'+temp2) != -1) {location.reload();} else {alert('cookieを有効にしてご利用ください')}}}}
function c_a_rgb_set(i) {c_a_temp = i; c_a_check_rgb();}
with(document) {open(); write('<style type="text/css">\n<!-\-\n'); if(document.all || document.getElementById) {write('.c_a_style {background:'+c_a_shoki1+';width:'+c_a_width+'px;height:'+c_a_height+'px;}\n');} else if(document.layers) {write('.c_a_style {position:relative;}\n'); temp_cookie = cookie while(temp_cookie.indexOf(" ") != -1) {temp_cookie = temp_cookie.replace(" ","");} temp_cookie = temp_cookie.split(";"); for(i in temp_cookie) {if(temp_cookie[i].indexOf(c_a_cookie) != -1) {temp_cookie2 = temp_cookie[i].split('='); if(temp_cookie2[0] == c_a_cookie) {temp_cookie3 = temp_cookie2[1].split('-'); bgcolor = temp_cookie3[0]; fgColor = temp_cookie3[1]; write('body {color:'+temp_cookie3[1]+';background:'+temp_cookie3[0]+';}\n'); c_a_shoki1 = temp_cookie3[0]; c_a_shoki2 = temp_cookie3[1]; break;} else {temp_cookie2 = new Array();}}}} write('.c_a_style2{background:'+c_a_shoki1+';}\n') write('\n-\->\n<\/style>\n')}
// --> </script>

ソース2(以下のソースを<body>〜<body>の間に書き込んでください)  
 
<form id="c_a_form" name="c_a_form">
<table border="0" cellspacing="0" cellpadding="1"><tr><td>
<table border="0" cellspacing="1" cellpadding="0"><tr>
<td class="c_a_style2"><div class="c_a_style" id="c_a_color">
<script type="text/javascript" langurge="JavaScript"><!--
c_a_spacer();
// --></script></div></td>
</tr></table></td>
<td><input type="text" size="8" value="#000000" id="c_a_rgb1" name="c_a_rgb1" onChange="c_a_check_rgb();" onfocus="c_a_stop();" onBlur="c_a_start();"><td>
<td><input type="radio" name="c_a_select" onClick="c_a_rgb_set(1)" checked>背景色</td>
<td><input type="button" value="色変更" onClick="change_color();"></td>
</tr><tr>
<td></td>
<td><input type="text" size="8" value="#000000" id="c_a_rgb2" name="c_a_rgb2" onChange="c_a_check_rgb();" onfocus="c_a_stop();" onBlur="c_a_start();"><td>
<td><input type="radio" name="c_a_select" onClick="c_a_rgb_set(2)">文字色</td>
</tr></table>
<table border="0" cellspacing="0" cellpadding="1"><tr>
<td>赤:<input type="text" size="3" id="c_a_red" name="c_a_red">
<input type="button" value="▲" name="c_a_b1" onMouseDown="c_a_edit_start('red',1);" onMouseOut="c_a_edit_stop();" onMouseUp="c_a_edit_stop();"
><input type="button" value="▼" name="c_a_b2" onMouseDown="c_a_edit_start('red',-1);" onMouseOut="c_a_edit_stop();" onMouseUp="c_a_edit_stop();"></td>
<td>緑:<input type="text" size="3" id="c_a_green" name="c_a_green">
<input type="button" value="▲" name="c_a_b3" onMouseDown="c_a_edit_start('green',1);" onMouseOut="c_a_edit_stop();" onMouseUp="c_a_edit_stop();"
><input type="button" value="▼" name="c_a_b4" onMouseDown="c_a_edit_start('green',-1);" onMouseOut="c_a_edit_stop();" onMouseUp="c_a_edit_stop();"></td>
<td>青:<input type="text" size="3" id="c_a_blue" name="c_a_blue">
<input type="button" value="▲" name="c_a_b5" onMouseDown="c_a_edit_start('blue',1);" onMouseOut="c_a_edit_stop();" onMouseUp="c_a_edit_stop();"
><input type="button" value="▼" name="c_a_b6" onMouseDown="c_a_edit_start('blue',-1);" onMouseOut="c_a_edit_stop();" onMouseUp="c_a_edit_stop();"></td>
</tr></table></form>
<script type="text/javascript" langurge="JavaScript"><!--
c_a_shoki_rgb();
c_a_check_rgb();
c_a_sreach();
// --></script>


スクリプト無効時にはカラーエディタは動作しません。
 <noscript>〜</noscript>でメッセージを書き込むなどして対処してください。


ウェブ木箱サンプル集
copyright(C) 2002-2004 あう