
下記のような、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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
wordの数式について 定積分を書...
-
WEBページを強制的に横画面で見...
-
[HTML]プルダウンメニューの横...
-
SUN BBSの改造方法
-
ラジオボタンが両方とも選択で...
-
ブックマークからのアクセスを...
-
プログラミングについての質問...
-
CGI経由でのPDFファイルをダウ...
-
「value」に2つの値をセットす...
-
チェックボックスとセレクトボ...
-
popular among popularの違いを...
-
perlで書いたcgiでsqliteの使い...
-
リストボックスの値を複数のテ...
-
Perl言語のオンライン文法チェ...
-
CGIメールフォームの件名について
-
検索窓をクリックすると文字が...
-
フォントサイズを変えるには?
-
登録画像のファイル名について
-
INPUT TYPE
-
HTML プルダウンメニューの選択...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
wordの数式について 定積分を書...
-
[HTML]プルダウンメニューの横...
-
MSPゴシックで、一番幅を取る文字
-
VB.net データーグリッドビュー...
-
WEBページを強制的に横画面で見...
-
左右のフレームを同時にスクロ...
-
シングルコーテーション(')と...
-
横スクロールを縦スクロールに...
-
EXCELとの連携
-
オイラー法の誤差
-
硬質カードケースについて 縦向...
-
flashを最初からアクティブ化出...
-
Shiromuku様のCGIの幅設定な...
-
マップの縦幅
-
onMouseoverで下線表示したい(...
-
このタグをおしえてください
-
submitボタンの幅を指定する方法
-
ブラウザの種類を判別してそれ...
-
SUN BBSの改造方法
-
ラジオボタンが両方とも選択で...
おすすめ情報