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、および、キーボードの Q
、W
、E
、A
、S
、D
、Z
、X
、C
のいずれかのキーに対応する内側のテキストを持ちます。 ドラムパッドはこの順序にする必要があります。
ユーザーストーリー 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