質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

2回答

558閲覧

文法エラーが表示されます

kmdyusuke1001

総合スコア0

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2022/06/29 17:04

文法エラーが表示されます。128行目あたりの</script>、160行目あたりのinit();、168行目あたりのranking();が文法エラーのようなのですが、どこがおかしいのか理解しかねました。どのうにすればよいのでしょうか。
もぐらたたきのhtmlを作っています。

html

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta charset="UTF-8"/> 5<title>もぐらたたき</title> 6<script type="text/javascript" src="zepto.min.js"></script> 7<script type="text/javascript"> 8var imgs = document.getElementsByName("im"); 9var st, en, score, tid = null; 10var mole = new Array(16); 11var a1 = new Array(4); 12var a1_cnt = 0; 13 14for(i = 0; i < 4; i++){ 15 a1[i] = new Audio("mogura.mp3"); 16} 17 18function init(){ 19 score = 0; 20 document.c0.src = "/~h128kamo/public_html/webpro/" + parseInt(score / 100) + ".j\ 21pg"; 22 document.c1.src = "/~h128kamo/public_html/webpro/" + (parseInt(score / 10) % 10)\ 23 + ".jpg"; 24 document.c2.src = "/~h128kamo/public_html/webpro/" + (score % 10) + ".jpg"; 25 seconds = 0; 26 document.s0.src = "/~h128kamo/public_html/webpro/" + parseInt(seconds / 100) + "\ 27.jpg"; 28 document.s1.src = "/~h128kamo/public_html/webpro/" + (parseInt(seconds / 10) % 1\ 290) + ".jpg"; 30 document.s2.src = "/~h128kamo/public_html/webpro/" + (seconds % 10) + ".jpg"; 31 for(i = 0; i < 16; i++){ 32 var x = Math.random(); 33 if( x < 0.3 ){ 34 imgs[i].src = 'mogura.jpg'; 35 } 36 else if( 0.3 < x && x < 0.6 ){ 37 imgs[i].src = 'doara.jpg'; 38 } 39 else{ 40 imgs[i].src = 'white.jpg'; 41 } 42 } 43} 44 45function game_start(){ 46 init(); 47 st = new Date().getTime(); 48 update(); 49 time(); 50} 51function time(){ 52 if( tid == null ) return; 53 en = new Date().getTime(); 54 seconds = (en - st) / 1000; 55 document.s0.src = "/~h128kamo/public_html/webpro/" + parseInt(seconds / 100) + "\ 56.jpg"; 57 document.s1.src = "/~h128kamo/public_html/webpro/" + (parseInt(seconds / 10) % 1\ 580) + ".jpg"; 59 document.s2.src = "/~h128kamo/public_html/webpro/" + (seconds % 10) + ".jpg"; 60 setTimeout("time()", 500); 61 62function update(){ 63 for(i = 0; i < 16; i++){ 64 var x = Math.random(); 65 if( x < 0.3 ){ 66 imgs[i].src = 'mogura.jpg'; 67 } 68 else if( 0.3 < x && x < 0.6 ){ 69 imgs[i].src = 'doara.jpg'; 70 } 71 else{ 72 imgs[i].src = 'white.jpg'; 73 } 74 } 75 tid = setTimeout("update()", 500); 76} 77 78function whack(i){ 79 if( tid == null ) return; 80 if( imgs[i].src.slice(-10) == 'mogura.jpg' ){ 81 a1[a1_cnt++].play(); 82 a1_cnt &= 3; 83 imgs[i].src = 'white.jpg' ; 84 score++; 85 if( score >= 30 ){ 86 en = new Date().getTime(); 87 clearTimeout(tid); 88 tid = null; 89 time = (en - st) / 1000; 90 if( !document.cookie ){ 91 name = prompt("あなたのタイムは" + time + "秒でした\n あなたのお名前を入れ\ 92てください",""); 93 document.cookie = "name=" + name + "; max-age=86400"; 94 document.getElementById("name").value = name; 95 }else{ 96 alert(document.getElementById("name").value + "さんのタイムは" + time + "\\ 97秒でした。"); 98 } 99 $.get("6.php?name=" + encodeURI(name) + "&time=" + time, function(){ 100 ranking(); 101 }); 102 } 103 } 104 else if( imgs[i].src.slice(-10) == 'doara.jpg' ){ 105 a1[a1_cnt++].play(); 106 a1_cnt &= 3; 107 imgs[i].src = 'doara.jpg' ; 108 score--; 109 score--; 110 } 111 else{ 112 a1[a1_cnt++].play(); 113 a1_cnt &= 3; 114 imgs[i].src = 'white.jpg' ; 115 score--; 116 } 117 document.c0.src = "/~h128kamo/public_html/webpro/" + parseInt(score / 100) + ".j\ 118pg"; 119 document.c1.src = "/~h128kamo/public_html/webpro/" + (parseInt(score / 10) % 10)\ 120 + ".jpg"; 121 document.c2.src = "/~h128kamo/public_html/webpro/" + (score % 10) + ".jpg"; 122}function ranking(){ 123 _d = new Date().getTime(); 124 $.get("6ranking.php?_d=" + _d, function(data){ 125 var a = data.split("\n"); 126 var table = "<table border=1 cellspacing=0 cellpadding=2>"; 127 table += "<tr><td>順位</td><td>時間</td><td>名前<.td><td>日時</td></tr>"; 128 for(i=0;i<a.length-1;i++){ 129 var b = a[i].split(","); 130 table += "<tr><td>" + (i+1) + "</td><td>" + b[2] + "</td><td>" + b[1] + "</t\ 131d><td>" + b[0] + "</td></tr>"; 132 } 133 table += "</table>"; 134 document.getElemantById("ranking").innerHTML = table; 135 }); 136} 137</script> 138</head> 139<body align="center" bgcolor="antiquewhite"> 140<h1><font color="brown">もぐらたたき</font></h1> 141<h3>~マニュアル~</h3> 142<p>もぐらを30匹たたくまでの時間を競うゲームです。</p> 143<p>もぐらをたたくと1点加算されます。</p> 144<p>もぐらのいないところをたたくと1点減点されます。</p> 145<hr size="3" color="brown"><br> 146名前 : <input type="text" id="name" onChange='document.cookie = "name=" +this.valu\ 147e + "; max-age=86400"'><br><br> 148<input type="button" onClick="game_start()" value="ゲーム開始"><br><br> 149得点 : <span id="score"></span> 150<img name="c0" width="10" height="10"><img name="c1" width="10" height="10"><img n\ 151ame="c2" width="10" height="10"> 152<br> 153<br> 154タイム : 155<img name="s0" width="10" height="10"><img name="s1" width="10" height="10"><img n\ 156ame="s2" width="10" height="10"> 157<br> 158<br> 159<div style="line-height:0"> 160<img name="im" onClick="whack(0)" width="100" height="100"><img name="im" onClick=\ 161"whack(1)" width="100" height="100"><img name="im" onClick="whack(2)" width="100" \ 162height="100"><img name="im" onClick="whack(3)" width="100" height="100"><br> 163<img name="im" onClick="whack(4)" width="100" height="100"><img name="im" onClick=\ 164"whack(5)" width="100" height="100"><img name="im" onClick="whack(6)" width="100" \ 165height="100"><img name="im" onClick="whack(7)" width="100" height="100"><br> 166<img name="im" onClick="whack(8)" width="100" height="100"><img name="im" onClick=\ 167"whack(9)" width="100" height="100"><img name="im" onClick="whack(10)" width="100"\ 168 height="100"><img name="im" onClick="whack(11)" width="100" height="100"><br> 169<img name="im" onClick="whack(12)" width="100" height="100"><img name="im" onClick\ 170="whack(13)" width="100" height="100"><img name="im" onClick="whack(14)" width="10\ 1710" height="100"><img name="im" onClick="whack(15)" width="100" height="100"><br> 172</div> 173<script type="text/javascript"> 174var name = document.cookie.replace(/(?:(?:^|.*;\s*)name\s*\=\s*([^;]*).*$)|^.*$/, \ 175"$1"); 176if( name ){ 177 document.getElementById("name").value = name; 178} 179</script> 180<br><br><br> 181<script type="text/javascript"> 182init(); 183</script> 184<br> 185<b>ランキング</b><br> 186<div id="ranking"></div> 187<script type="text/javascript"> 188ranking(); 189</script> 190</body> 191</html> 192 193

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2022/06/29 22:32

Javascriptを質問タグとして追加してください
m.ts10806

2022/06/29 22:33

あと、インデントグッチャグチャなので、そこなおすと見えてくることもあるかもしれません
退会済みユーザー

退会済みユーザー

2022/06/29 22:43

xxx 行目と言われても行番号が振ってないので意味がないです。どの行か分かるように書いてください。
guest

回答2

0

とりあえず、改行する時になんでもバックスラッシュを入れるのは間違っています。それをするのは文字列リテラルの時です。

文字列リテラル中にはそのままでは入力できない特殊な文字もあります。 改行もそのひとつで、"(ダブルクォート)と'(シングルクォート)の文字列リテラルには改行をそのまま入力できません (テンプレートリテラル中には例外的に改行をそのまま入力できます)。
エスケープシーケンス | 文字列 · JavaScript Primer #jsprimer


また、function time(){が閉じられていないです。

投稿2022/06/30 00:48

編集2022/06/30 02:18
Lhankor_Mhy

総合スコア36104

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

var imgs = document.getElementsByName("im")

この記述があるタイミングではhtml内には何も現れてない状況なので、何も読み込めないのでは。ここにもエラー出るのでは。
せめてdocument.ready(もしくはwindow.onload)しましょう。

同じ観点で見直しを。

投稿2022/06/30 00:03

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問