クリックイベントハンドラを追加する
このステップでは、ページ上部の果物アイテムにクリックイベントハンドラを追加します。
index.html ファイルで、<script> タグ内の TODO セクションを探します。
<script> タグは内部に空の ids 変数の配列を設定しています。
let ids = [];
$("#card li").on("click", function (e) {
// TODO: ここで関数を実装してください
});
- TODO セクション内に次のコードを追加します。
$("#card li").on("click", function (e) {
// TODO: ここで関数を実装してください
if ($("#box li").length >= 7) {
return;
}
let clone = $(this).clone();
$("#box").append(clone);
let currentId = $(this).data("id");
ids.push($(this).data("id"));
let currentIdLen = ids.filter((id) => id == currentId)?.length;
if (currentIdLen == 3) {
ids = ids.filter((id) => id !== currentId);
let three = $(`#box li[data-id=${currentId}]`);
for (let index = 0; index < three.length; index++) {
const element = three[index];
$(element).addClass("active");
setTimeout(() => {
element.remove();
}, 200);
}
}
$(this).css({
top: "600px",
left: "200px",
opacity: 0,
transition:
"left.2s linear, top.2s cubic-bezier(.08,-0.35,.99,.33),opacity.2s linear"
});
});
このコードは、ページ上部の果物アイテムにクリックイベントハンドラを追加します。果物アイテムがクリックされると、それがクローンされてページ下部のボックスに追加されます。ボックスに同じ果物が 3 つある場合、それらは削除されます。下部の矩形 (id=box) 要素に果物が 7 つあり削除できない場合、クリックされた果物要素ノードは追加された矩形要素に含まれません。