更新
实际上,如果您要做的只是复制单击的图像,甚至不需要将所有这些图像定义两次。只需克隆它。
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 文档非常棒,方法的命名也相当直观。尽量保持您的 HTML 规范:从 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"/>