※ ChatGPTを利用し、要約された質問です(原文:ランダムで表示させたブロック要素内のボタンクリックで、要素の変更)
ランダムに要素を切り替えるJavaScriptの実装方法
このQ&Aのポイント
ボタンクリックでランダムに要素を切り替えるJavaScriptの実装方法を教えてください。
ランダムで表示されるブロック要素内のボタンをクリックすると、要素が切り替わる仕組みを作りたいです。
要素の切り替えにはJavaScriptの関数を使用して実装することができます。
ランダムで表示させたブロック要素内のボタンクリックで、要素の変更
いつもお世話になってます。
今日はJavaScriptについて質問させてください。
2つのブロック要素(div)を、ランダムに表示させています。
function main() {
boxID = new Array();
jmp = new Array();
img = new Array();
alt = new Array();
btn = new Array();
boxID[0] = 'view1';
boxID[1] = 'view2';
jmp[0] = 'url01.html';
jmp[1] = 'url02.html';
img[0] = 'img01.jpg';
img[1] = 'img02.jpg';
alt[0] = '画像1';
alt[1] = '画像2';
btn[0] = 'img/ch01.gif';
btn[1] = 'img/ch02.gif';
n = Math.floor(Math.random()*jmp.length);
document.write("<div id='"+boxID[n]+"' class='box'>");
document.write("<h2><a href='"+jmp[n]+"'>");
document.write("<img src='"+img[n]+"' alt='"+alt[n]+"' />");
document.write("</a></h2>");
document.write("<p><a href='#'><img ='"+btn[n]+"' alt='要素を切り替え' /></p>");
document.write("</div>");
}
更新するたびに、要素1と、要素2がランダムで出るとこまでは出来ました。
その中の【要素を切り替え】部分のボタンをクリックすることで、1と2を切り替えて表示させたいのです。
ランダムで【要素1】が出た場合、【要素を切り替え】ボタンをクリックすると【要素2】が表示されると言った具合です。
↓↓↓切り替え用(ネット上からの拾い物)
■JavaScript
function fh_change(view, menu, no, roopCount) {
var element;
for (var i = 1; i <= roopCount; i++) {
element = document.getElementById (view + i);
element.style.display='none';
}
element = document.getElementById(view + no);
element.style.display = 'block';
}
■HTML
<div id="view1" class="box">
<h2><a href="url01.html"><img src="img01.jpg" alt="画像1" /></a></h2>
<p class="btn" id="btn1"><a href="#" id="menu1" onclick="fh_change('view', 'menu', '2', 2);return false;"><img src="img/ch01.gif" alt="要素を切り替え" /></a></p>
</div>
<div id="view2" class="box" style="display:none;">
<h2><a href="url02.html"><img src="img02.jpg" alt="画像2" /></a></h2>
<p class="btn" id="btn2"><a href="#" id="menu2" onclick="fh_change('view', 'menu', '1', 2);return false;"><img src="img/ch02.gif" alt="要素を切り替え" /></a></p>
</div>
上手く合体させてあげることが出来ず、困ってます。
お詳しい方いらっしゃいましたら、どうかご助力お願いします!!
お礼
_pipi_さん≫ ありがとうございます! さっそく実装してみます!!