起動画面

各列のボタンをポチると各列のinputボックスの中身と同時に背景色も変化します。



ボタンを一回押すごとに0x33ずつ値が変化します。
以下ソース
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<html> | |
<title>RGB</title> | |
<style type="text/css"> | |
*{font-size:16px;text-align:center} | |
input{width:45px} | |
button{width:100%} | |
</style> | |
<body style="overflow:hidden"> | |
<table id=tbl> | |
<tr> | |
<td>R</td> | |
<td>G</td> | |
<td>B</td> | |
</tr> | |
<tr> | |
<td><button id=btnUR>△</button></td> | |
<td><button id=btnUG>△</button></td> | |
<td><button id=btnUB>△</button></td> | |
</tr> | |
<tr> | |
<td><input id=iR></td> | |
<td><input id=iG></td> | |
<td><input id=iB></td> | |
</tr> | |
<tr> | |
<td><button id=btnDR>▽</button></td> | |
<td><button id=btnDG>▽</button></td> | |
<td><button id=btnDB>▽</button></td> | |
</tr> | |
</table> | |
<input id=RGB style="width:80%"> | |
</body> | |
<script> | |
resizeTo(200,200) | |
桁=function(num,len){var s=Array(len+1).join(0)+num, L=s.length; return s.slice(L-len,L)} | |
c=function(R,G,B){return '#'+桁(R.toString(16),2)+桁(G.toString(16),2)+桁(B.toString(16),2)} | |
btn=function(){ | |
var s=this.id, swUP=s.charAt(3)=='U', rgb=s.charAt(4), inp=document.getElementById('i'+rgb), v=n(inp.value) | |
v += (swUP ? 1 : -1) * 0x33 | |
inp.value = v < 0 ? 0 : (255 < v ? 255 : v) | |
chg() | |
} | |
for(a=document.getElementsByTagName('button'),i=0,L=a.length;i<L;i++){ | |
a[i].onclick = a[i].ondblclick = btn | |
} | |
n=function(s){var n=s-0; return isFinite(n) ? n : 0} | |
iR.onchange=iG.onchange=iB.onchange=chg=function(){ | |
RGB.value = document.body.style.backgroundColor = c(n(iR.value), n(iG.value), n(iB.value)) | |
} | |
</script> | |
</html> |
0 件のコメント:
コメントを投稿