freeCodeCamp/curriculum/challenges/japanese/03-front-end-development-li.../front-end-development-libra.../build-a-drum-machine.md

4.1 KiB

id title challengeType forumTopicId dashedName
587d7dbc367417b2b2512bae ドラムマシンを作成する 3 301370 build-a-drum-machine

--description--

目標: https://codepen.io/freeCodeCamp/full/MJyNMd と同様の機能を持つ CodePen.io アプリを作成します。

以下のユーザーストーリーを達成して、すべてのテストに合格してください。 アプリにはあなた独自のスタイルを設定してください。

このプロジェクトを完了するために、HTML、JavaScript、CSS、Bootstrap、SASS、React、Redux、および jQuery を自在に組み合わせて利用することができます。 このセクションはフロントエンドフレームワークの学習を目的としていますので、React などのフロントエンドフレームワークを使用してください。 上記以外の他のテクノロジーは推奨されません。使用する場合は自己責任で行ってください。 Angular や Vue などの他のフロントエンドフレームワークのサポートを検討していますが、現時点ではサポートされていません。 このプロジェクトで推奨している一連のテクノロジーを使用して生じた問題についてはすべて、報告を受け入れ、修正するよう努めます。 コーディングの成功を祈ります!

ユーザーストーリー 1: 対応する id="drum-machine" を持ち、他のすべての要素を収める、外側のコンテナを表示できます。

ユーザーストーリー 2: #drum-machine の中に、対応する id="display" を持つ要素を表示できます。

ユーザーストーリー 3: #drum-machine の中に、9 つのクリック可能なドラムパッド要素を表示できます。要素はそれぞれ、クラス名 drum-pad と、ドラムパットのトリガー用に準備されるオーディオクリップを示す一意の ID、および、キーボードの QWEASDZXC のいずれかのキーに対応する内側のテキストを持ちます。 ドラムパッドはこの順序にする必要があります。

ユーザーストーリー 4: それぞれの .drum-pad の中に、HTML5 の audio 要素を配置します。この要素は、オーディオクリップを指し示す src 属性、クラス名 clip、および、自身の親である .drum-pad の内側のテキストに対応する ID を持ちます (id="Q"id="W"id="E" など)。

ユーザーストーリー 5: .drum-pad 要素をクリックすると、その子の audio 要素に含まれているオーディオクリップがトリガーされます。

ユーザーストーリー 6: それぞれの .drum-pad に関連付けられているトリガーキーを押すと、その子の audio 要素に含まれているオーディオクリップがトリガーされます。たとえば、Q キーを押すと文字列 Q を含むドラムパッドがトリガーされ、W キーを押すと文字列 W を含むドラムパッドがトリガーされる、などとなります。

ユーザーストーリー 7: .drum-pad がトリガーされると、関連するオーディオクリップを説明する文字列が、#display 要素の内側のテキストとして表示されます (文字列はそれぞれ一意にする必要があります)。

独自のペンを作成するために、こちらの CodePen テンプレートを使用し、Save をクリックして独自のプロジェクトを構築することができます。 または、下記の CDN リンクを使用して、使い慣れている環境でテストを実行することもできます: https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js

完了したら、すべてのテストに合格した作業中のプロジェクトの URL を送信してください。

--solutions--

// solution required