回答編集履歴

5

追記の追記

2016/12/06 07:39

投稿

退会済みユーザー
test CHANGED
@@ -206,6 +206,92 @@
206
206
 
207
207
  ```
208
208
 
209
-
209
+ 補足の補足
210
+
210
-
211
+ ---
212
+
211
-
213
+ 直近で打ち込まれた文字を認識するには[lastIndexOfメソッド](http://www.ajaxtower.jp/js/string_class/index15.html)を使用すると実現できます。
214
+
215
+ ```HTML
216
+
217
+ <!DOCTYPE html>
218
+
219
+ <html lang="ja">
220
+
221
+ <head>
222
+
223
+ <meta charset="utf-8">
224
+
225
+ <title>タイトル</title>
226
+
227
+ </head>
228
+
229
+ <body>
230
+
231
+ <div id="textarea1">
232
+
233
+ <textarea></textarea>
234
+
235
+ </div>
236
+
237
+ <div id="textarea2">
238
+
239
+ <p><span id="text">./a.out</span>と入力しましょう。</p>
240
+
241
+ <span id="intro"></span>
242
+
243
+ </div>
244
+
245
+ <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
246
+
247
+ <script>
248
+
249
+ var i = 0, commands = [
250
+
251
+ 'text',
252
+
253
+ 'text1',
254
+
255
+ 'text2',
256
+
257
+ 'text3'
258
+
259
+ ];
260
+
261
+ var intro = [
262
+
263
+ "textの説明",
264
+
265
+ "text1の説明",
266
+
267
+ "text2の説明",
268
+
269
+ "text3の説明"
270
+
271
+ ];
272
+
273
+ $("#textarea1 textarea").keypress(function () {
274
+
275
+ var lastLine = (this.value).substr((this.value).lastIndexOf("\n") + 1);
276
+
277
+ if (lastLine == $("#text").text()) {
278
+
279
+ $("#textarea2 p").html('次は、<span id="text">' + commands[i] + '</span>と入力しましょう<br>');
280
+
281
+ $("#intro").html(commands[i] + 'の説明: ' + intro[i]);
282
+
283
+ i++;
284
+
285
+ }
286
+
287
+ }).change();
288
+
289
+ </script>
290
+
291
+ </body>
292
+
293
+ </html>
294
+
295
+ ```
296
+
297
+

4

修正、追加

2016/12/06 07:39

投稿

退会済みユーザー
test CHANGED
@@ -117,3 +117,95 @@
117
117
  ```
118
118
 
119
119
  わからないところとかあったらコメントとかでおしえてください。
120
+
121
+ 補足
122
+
123
+ ---
124
+
125
+ 説明を入れたいときも、上でやっていることを参考にすると簡単に実現できます。
126
+
127
+ 今回はtextarea2に新しくspan.introを追加してそこに説明を表示させています。
128
+
129
+ ```HTML
130
+
131
+ <!DOCTYPE html>
132
+
133
+ <html lang="ja">
134
+
135
+ <head>
136
+
137
+ <meta charset="utf-8">
138
+
139
+ <title>タイトル</title>
140
+
141
+ </head>
142
+
143
+ <body>
144
+
145
+ <div id="textarea1">
146
+
147
+ <textarea></textarea>
148
+
149
+ </div>
150
+
151
+ <div id="textarea2">
152
+
153
+ <p><span id="text">./a.out</span>と入力しましょう。</p>
154
+
155
+ <span id="intro"></span>
156
+
157
+ </div>
158
+
159
+ <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
160
+
161
+ <script>
162
+
163
+ var i = 0, commands = [
164
+
165
+ 'text',
166
+
167
+ 'text1',
168
+
169
+ 'text2',
170
+
171
+ 'text3'
172
+
173
+ ];
174
+
175
+ var intro = [
176
+
177
+ "textの説明",
178
+
179
+ "text1の説明",
180
+
181
+ "text2の説明",
182
+
183
+ "text3の説明"
184
+
185
+ ];
186
+
187
+ $("#textarea1 textarea").change(function () {
188
+
189
+ if ($(this).val() == $("#text").text()) {
190
+
191
+ $("#textarea2 p").html('次は、<span id="text">' + commands[i] + '</span>と入力しましょう<br>');
192
+
193
+ $("#intro").html(commands[i] + 'の説明: ' + intro[i]);
194
+
195
+ i++;
196
+
197
+ }
198
+
199
+ }).change();
200
+
201
+ </script>
202
+
203
+ </body>
204
+
205
+ </html>
206
+
207
+ ```
208
+
209
+
210
+
211
+

3

修正

2016/12/05 11:36

投稿

退会済みユーザー
test CHANGED
@@ -100,7 +100,7 @@
100
100
 
101
101
  if ($(this).val() == $("#text").text()) {
102
102
 
103
- $("#textarea2 p").html('次は、<span id="text">' + commands[i] + 't</span>と入力しましょう');
103
+ $("#textarea2 p").html('次は、<span id="text">' + commands[i] + '</span>と入力しましょう');
104
104
 
105
105
  i++;
106
106
 

2

修正

2016/12/03 06:18

投稿

退会済みユーザー
test CHANGED
@@ -49,3 +49,71 @@
49
49
  </html>
50
50
 
51
51
  ```
52
+
53
+ 決められたコマンドというのが2つ以上あるならこんな感じにすればいいんじゃないでしょうか。
54
+
55
+ ```HTML
56
+
57
+ <!DOCTYPE html>
58
+
59
+ <html lang="ja">
60
+
61
+ <head>
62
+
63
+ <meta charset="utf-8">
64
+
65
+ <title>タイトル</title>
66
+
67
+ </head>
68
+
69
+ <body>
70
+
71
+ <div id="textarea1">
72
+
73
+ <textarea></textarea>
74
+
75
+ </div>
76
+
77
+ <div id="textarea2">
78
+
79
+ <p><span id="text">./a.out</span>と入力しましょう。</p>
80
+
81
+ </div>
82
+
83
+ <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
84
+
85
+ <script>
86
+
87
+ var i = 0, commands = [
88
+
89
+ 'text',
90
+
91
+ 'text1',
92
+
93
+ 'text2',
94
+
95
+ 'text3'
96
+
97
+ ];
98
+
99
+ $("#textarea1 textarea").change(function () {
100
+
101
+ if ($(this).val() == $("#text").text()) {
102
+
103
+ $("#textarea2 p").html('次は、<span id="text">' + commands[i] + 't</span>と入力しましょう');
104
+
105
+ i++;
106
+
107
+ }
108
+
109
+ }).change();
110
+
111
+ </script>
112
+
113
+ </body>
114
+
115
+ </html>
116
+
117
+ ```
118
+
119
+ わからないところとかあったらコメントとかでおしえてください。

1

修正

2016/12/03 00:04

投稿

退会済みユーザー
test CHANGED
@@ -19,8 +19,6 @@
19
19
  <div id="textarea1">
20
20
 
21
21
  <textarea></textarea>
22
-
23
- <p id="output"></p>
24
22
 
25
23
  </div>
26
24