
<html>
<head>
<TITLE>フロー</TITLE>
<script type="text/javascript">
function clicli(){
document.frm.target.value = "あああ";←ここにあああと選択ボタンが表示されるようにしたい
}
</script>
<body>
<form name="frm"> ←ここも枠内に文字とその下に選択ボタンが表示されるようにしたい
<input type="button" value="実行" onclick="clicli()" />
<input type="text" name="target">
</form>
</body>
</html>
枠(<p><div>のテキストボックスでもいいのですが)内に文章が表示されその下にボタンではなくてもCSS偽装でボタンのようにみえるリンクでもいいのですが表示され、そのボタンをクリックするとまた文章とボタンが表示されるようにしたいと思ってます。ようするに選択フローのように進んで行きたいのです。自分の今のレベルですとhtmlファイルを沢山作りリンクで入れ替えて行く方法しか出来ません。この方法だと1~2行の文章のhtmlファイルを作らないといけないので大変でそれでいろいろ調べていたら過去の質問で上記のようなのを見つけてこの方法ならなんと出来るかなと思いましたが、やはり自分の能力では無理でした。すいませんが誰か助けてくださいお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No1です。
説明を書いた書いたつもりが、テストしたHTMLだけを投稿しちゃったみたいです。
すみませんでした。
ついでにもう少し使いやすい(であろう)ように修正してみました。
No1は無いものとして・・・ご質問の内容ってこんな感じのことでしょうか。
ボタンは疑似要素でも良いのですが、クリックを特定するのが面倒なので、普通のボタン要素にしています。
<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
<style type="text/css">
#target { list-style-type:none; padding:0; }
#target li+li { display:none; }
#target li { min-height:3em; margin:0.3em; border:1px solid gray; }
#next { display:block; font-size:0.8em; width:5em; margin:-0.3em 1em auto auto; }
</style>
<script type="text/javascript">
document.addEventListener('click', function(e){
let t = e.target, i = 0, elm;
if(t.id !== "next") return;
let elms = document.querySelectorAll("#target li");
for(i=0; elm = elms[i]; i++){
if(window.getComputedStyle(elm).display == "none"){
elms[i].style.display = "block";
if(i+1 == elms.length) t.style.display = "none";
break;
}
}
});
</script>
</head>
<body>
<ul id="target">
<li><p>最初の文章</p></li>
<li><p>2番目の文章</p></li>
<li><p>3番目の文章</p></li>
<li><p>4番目の文章</p></li>
<li><p>5番めの文章</p></li>
<li><p>6番めの文章</p></li>
</ul>
<button type="button" value="" id="next">次へ</button>
</body>
</html>
No.1
- 回答日時:
<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<style type="text/css">
#target { list-style-type:none; padding:0; }
#target li+li { display:none; }
#target li p{ min-height:3em; margin:0.3em 4.5em 0 0; border:1px solid gray; }
#next { display:block; font-size:0.8em; width:4em; margin:-2em 0.5em auto auto; }
</style>
<script type="text/javascript">
document.addEventListener('click', function(e){
let t = e.target;
if(t.id !== "next") return;
let elms = document.querySelectorAll("#target li");
let n = Array.prototype.indexOf.call(elms, t.parentNode);
if(elms[n+1]){
elms[n+1].style.display = "block";
elms[n+1].appendChild(t);
}
if(n + 2 >= elms.length) t.style.display = "none";
});
</script>
</head>
<body>
<ul id="target">
<li><p>最初の文章</p>
<button type="button" value="" id="next">次へ</button>
</li>
<li><p>2番目の文章</p></li>
<li><p>3番目の文章</p></li>
<li><p>4番目の文章</p></li>
<li><p>5番めの文章</p></li>
<li><p>6番めの文章</p></li>
</ul>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの<ol>タグで、数字などを...
-
ulタグやliタグの中でbrタグ...
-
list-style-type部分だけ大きく...
-
レスポンシブWebデザインでリン...
-
テーブル内のプルダウンの下に...
-
html/cssの、navを2段にする...
-
HTMLで組織図を作成する方法
-
liタグの中に<p>タグやら<dl>を...
-
html <ul></ul>の並びで一行空...
-
番号付きリスト(<Ol><Li>・・...
-
リストマーカーをボックス内に...
-
画像にリンクを張ると画像がず...
-
<li>タグの数が増えすぎたので...
-
リンク文字同士の間隔を開ける...
-
リストを2つに分割して、それぞ...
-
HTML & CSS 縦ボックス内の文字...
-
<li>の中の<h>だから!ルール違...
-
Dreamweaverで、ul要素の下に写...
-
<ul><li></li></ul>にするメリ...
-
複数行にまたがる括弧を表示し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リストマーカーをボックス内に...
-
liタグの中に<p>タグやら<dl>を...
-
ulタグやliタグの中でbrタグ...
-
divタグ内のコンテンツが重なっ...
-
html/cssの、navを2段にする...
-
list-style-type部分だけ大きく...
-
複数行にまたがる括弧を表示し...
-
html <li>の中の文字一部に色を...
-
ページを開いているときのリン...
-
番号付きリスト(<Ol><Li>・・...
-
リストを2つに分割して、それぞ...
-
リストの左余白の削除方法
-
html <ul></ul>の並びで一行空...
-
<li>タグの数が増えすぎたので...
-
<ul><li></li></ul>にするメリ...
-
css 横並びのナビゲーションバ...
-
htmlの<ol>タグで、数字などを...
-
<li>で改行する横並びのメニュー
-
ページ内リンク!?のしかた
-
イメージマップと画像のスライ...
おすすめ情報