0
私は描画アプリを開発中です。私は2つのツール(鉛筆と消しゴム)といくつかの色があります。 鉛筆をチェックすると、色を選択できますが、消しゴムをチェックして色を選択したいときは、鉛筆ツールをもう一度チェックしたいのですが、消しゴムツールを選択したままにしておきます。変更後にデフォルトのチェックボックスに戻る
どのようなガイダンスにも多くの賛同があります。ここで
は一例とコードです:コード:
HTML:
<!-- Pencil & Eraser -->
<div class="graphic-tools">
<!-- <div id="pencil" class="pencil"></div> -->
<input checked="checked" id="pencil" type="radio" name="tool" value="pencil" />
<label class="tool pencil" for="pencil"></label>
<p class="">Potlood</p>
<!-- <div id="eraser" class="eraser"></div> -->
<input id="eraser" type="radio" name="tool" value="eraser" />
<label class="tool eraser" for="eraser"></label>
<p>Gum</p>
</div>
<!-- colors -->
<div id="colors" class="colors"></div>
JavaScriptを:私が正しくあなたの質問を理解している場合ので、
// Color swatches
var colors = ['#000000', '#274e8d', '#6bb44b', '#e5cd46', '#e98b3a', '#d83538'];
for (var i = 0, n=colors.length; i<n; i++) {
var swatch = document.createElement('div');
swatch.className = 'swatch';
swatch.style.backgroundColor = colors[i];
swatch.addEventListener('click', setSwatch);
document.getElementById('colors').appendChild(swatch);
}
function setColor(color) {
context.fillStyle = color;
context.strokeStyle = color;
var active = document.getElementsByClassName('activeSwatch')[0];
if (active) {
active.className = 'swatch';
}
}
function setSwatch(e) {
//identify swatch
var swatch = e.target;
//set color
setColor(swatch.style.backgroundColor);
//give active class
swatch.className += ' activeSwatch';
}
setSwatch({target: document.getElementsByClassName('swatch')[0] });
// Determine Tool
document.getElementById('pencil').onchange = function() {
if (this.checked) {
tool = 'pencil';
setSwatch({target: document.getElementsByClassName('swatch')[0] });
}
};
document.getElementById('eraser').onchange = function() {
if (this.checked) {
tool = 'eraser';
setColor('#FFFFFF');
}
};
はい、それは非常に大変です! –