
下記のような、HTMLコードを作ったのですが、4つほど問題があり詰まってます!
1つ目は、占いボタンをおしても画像だけ変わり、文字かひょうじされないこと
2つ目は、削除ボタンを押しても変化がないこと
3つ目は、花言葉が改行できないこと
4つ目は、各花ごとに、CSSを適用したいのですがやり方が分かりません
<!DOCTYPE html>
<html lang="ja">
<head>
<title>花占い</title>
<meta charset="UTF-8">
<link rel="stylesheet"href="d.css">
</head>
<body>
<h1>今日の占い</h1>
<input type="button"value="占う"onclick="uranai()">
<input type="button"value="削除"onclick="del()"/>
<img id="image"src="r.jpg"/>
<div id="kekka"></div>
<script>
function uranai() { let num = Math.ceil(Math.random() * 12);
let books = document.getElementById("kekka"); let y = document.getElementById("are");
let elm = document.createElement("p");
let tha = document.createElement("p");
let txt;
let led;
let x = document.getElementById("image"); if(num === 1) {
txt = document.createTextNode("シンビジウム"); led = document.createTextNode("花言葉 『飾らない心』『素朴』『壮麗』『華やかな恋』『高貴な美人』『誠実な愛情』『深窓の麗人』"); x.setAttribute("src","1.jpg");
} else if(num === 2) {
txt = document.createTextNode("フリージア");
led = document.createTextNode("シンビジウム"); x.setAttribute("src","2.jpg");
} else if(num === 3) {
txt = document.createTextNode("チューリップ"); led = document.createTextNode("シンビジウム"); x.setAttribute("src","3.jpg");
} else if(num === 4) {
txt = document.createTextNode("桜");
led = document.createTextNode("シンビジウム"); x.setAttribute("src", "4.jpg");
} else if(num === 5) {
txt = document.createTextNode("すずらん");
led = document.createTextNode("シンビジウム"); x.setAttribute("src","5.jpg");
} else if(num === 6) {
txt = document.createTextNode("バラ");
led = document.createTextNode("シンビジウム"); x.setAttribute("src","6.jpg");
} else if(num === 7) {
txt = document.createTextNode("百合");
led = document.createTextNode("シンビジウム"); x.setAttribute("src", "7.jpg");
} else if(num === 8) {
txt = document.createTextNode("ひまわり");
led = document.createTextNode("シンビジウム"); x.setAttribute("src ","8.jpg");
} else if(num === 9) {
txt = document.createTextNode("ダリア");
led = document.createTextNode("シンビジウム"); x.setAttribute("src ","9.jpg");
} else if(num === 10) {
txt = document.createTextNode("ガーベラ");
led = document.createTextNode("シンビジウム"); x.setAttribute("src","10.jpg");
} else if(num === 11) {
txt = document.createTextNode("シクラメン");
led = document.createTextNode("シンビジウム"); x.setAttribute("src","11.jpg");
} else {
txt = document.createTextNode("ポインセチア"); led = document.createTextNode("シンビジウム"); x.setAttribute("src","12.jpg");
}
tha.appendChild(led);
y.appendChild(tha);
elm.appendChild(txt);
books.appendChild(elm);
function del() {
let kakka = document.getElementById("kakka"); if(kakka.lastChild !== null){
kakka.removeChild(kakka.lastChild);
}
}
}
</script>
</body>
</html>
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No1です。
すみません、3つ目について、間違えていました。
createTextNodeは、<br />を文字列として表示してしまうようです。
参考:https://oshiete.goo.ne.jp/qa/4971075.html
上記ページの回答のように、document.createElement('br')を入れる方法があります。
失礼しました。
No.1
- 回答日時:
>1つ目は、占いボタンをおしても画像だけ変わり、文字かひょうじされないこと
let y = document.getElementById("are");
のId areになっているhtmlタグが存在しないようです。
htmlのどこかに、
<div id="are"></div>
を入れると良いと思います。
>2つ目は、削除ボタンを押しても変化がないこと
function del()の関数が、function uranai(){}の中に入っています。
uranai()の外に出してあげてください。
また、del()の中の'kekka'がぜんぶ'kakka'になっています。
また、これを直した場合でも、削除するのはkekkaタグ内だけですが、
これは意図したとおりなのか分かりません。
>3つ目は、花言葉が改行できないこと
花言葉 『飾らない心』<br />『素朴』<br />『壮麗』<br />・・・
みたいに、改行を入れるというのはいかがでしょうか。
>4つ目は、各花ごとに、CSSを適用したいのですがやり方が分かりません
CSSが分かりませんが、
たとえば、
.flo1{color:red;}
.flo2{color:green;}
みたいに、flo12まで用意して、
if (num === 1) {}
の中に、
elm.className='flo1';
を入れてみたら良いと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
wordの数式について 定積分を書...
-
カウントダウンを何個も表示し...
-
このタグをおしえてください
-
SUN BBSの改造方法
-
掲示板(kentさんの所のsunbbs...
-
英文にしてください
-
メールフォームの内容を送信者...
-
複数フィールドの値を一つのVAL...
-
pythonのコードで教えてください。
-
フォームがFirefoxで動作するの...
-
formから送信する値について
-
WEBアンケート
-
perlの文法について
-
何がおかしいのでしょうか?
-
CGIプログラムの最後に?がつい...
-
登録画像のファイル名について
-
HTMLの質問
-
データを読み込んだ時・・・・
-
CGIがうまく作動せず困っていま...
-
&ReadParseについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
wordの数式について 定積分を書...
-
[HTML]プルダウンメニューの横...
-
MSPゴシックで、一番幅を取る文字
-
WEBページを強制的に横画面で見...
-
VB.net データーグリッドビュー...
-
OBJECTタグで、PARAMを使用する...
-
onMouseoverで下線表示したい(...
-
javascript ColorBoxの最大縦幅...
-
オイラー法の誤差
-
横スクロールを縦スクロールに...
-
左右のフレームを同時にスクロ...
-
ラジオボタンの内容を受けてCGI...
-
pythonのnumpyでの列(縦)ベク...
-
縦線、横線の作成
-
EXCELとの連携
-
HTMLで縦書き?
-
誕生日のカウントダウン日数を...
-
HTMLでのタイマーの設置
-
シングルコーテーション(')と...
-
右クリック禁止のタグ
おすすめ情報