アップデート
実際には、クリックした画像を複製するだけであれば、これらの画像をすべて 2 回定義する必要さえありません。クローンするだけです。
JavaScript
$(function() {
$("img.add").click( function() {
$("#todobar").empty().append( $(this).clone() );
});
});
CSS
.add {
height: 60px;
width: 60px;
}
修正された HTML
<div id="todobar">
</div>
<img src="img/cyan.png" class="add" alt="cyan"/>
<img src="img/magenta.png" class="add" alt="magenta"/>
<img src="img/yellow.png" class="add" alt="yellow"/>
<img src="img/black.png" class="add" alt="black"/>
jsFiddle デモ
調査に役立つ jQuery メソッド:.click()
メソッド、jQuery.data()
メソッド、jQuery.show()
メソッド、jQuery.toggle()
メソッド。jQuery のドキュメントは非常に素晴らしく、メソッドの名前は非常に直感的です。HTML5 では、マークアップにデータを追加するための data- 属性があります。また、さまざまな種類のセレクターも見てください。以下のクラス セレクター'.add'
( ) とid セレクター( '#todo-cyan'
) を使用しました。
JavaScript
$(function() {
$("img.add").click( function() {
var col = $(this).data("color");
$("#todo-" + col).toggle();
});
});
CSS
.hidden {
display: none;
width: 45px;
}
.add {
height: 60px;
width: 60px;
}
修正された HTML
<div id="todobar">
<img src="img/cyan.png" class="hidden" id="todo-cyan"/>
<img src="img/magenta.png" class="hidden" id="todo-magenta"/>
<img src="img/yellow.png" class="hidden" id="todo-yellow"/>
<img src="img/black.png" class="hidden" id="todo-black"/>
</div>
<img src="img/cyan.png" class="add" data-color="cyan" alt="cyan"/>
<img src="img/magenta.png" class="add" data-color="magenta" alt="magenta"/>
<img src="img/yellow.png" class="add" data-color="yellow" alt="yellow"/>
<img src="img/black.png" class="add" data-color="black" alt="black"/>