No.7ベストアンサー
- 回答日時:
確認してくださ~い!変わったところは、
1.link関数を追加しました。
2.表示最大数の「i」の設定を上のほうに持っていきました。
=============================Sample=================================
<html>
<head>
<script language='JavaScript'>
<!--
var i = 5; //表示件数の最大値
var brows;
function write(num){
if(document.getElementById || document.all){ //NN6,7 , Mozilla , IE4,5,6,7
brows=0;
document.write("<DIV ID='v" +num+ "' style='position:relative;display:none;'>");
}else if(document.layers){ //NN4
brows=1;
document.write("<DIV ID='v" +num+ "' style='position:absolute;visibility:hidden;'>");
}
}
function link(linkNo){
var count;
if(brows==0) {
for(count=0;count<=i;count++){
document.getElementById('v' + count).style.display='none';
}
document.getElementById(linkNo).style.display='block';
} else {
for(count=0;count<=i;count++){
document.layers['v' + count].visibility='hidden'
}
document.layers[linkNo].visibility='show'
}
}
//-->
</script>
<title></title>
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(0);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff" width=400 height=100>
<TR>
<TD>
パターン0
</TD>
</TR>
</TABLE>
</DIV>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(1);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff" width=400 height=100>
<TR>
<TD>
パターン1
</TD>
</TR>
</TABLE>
</DIV>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(2);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff" width=400 height=100>
<TR>
<TD>
パターン2
</TD>
</TR>
</TABLE>
</DIV>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(3);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff" width=400 height=100>
<TR>
<TD>
パターン3
</TD>
</TR>
</TABLE>
</DIV>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(4);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff" width=400 height=100>
<TR>
<TD>
パターン4
</TD>
</TR>
</TABLE>
</DIV>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(5);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff" width=400 height=100>
<TR>
<TD>
パターン5
</TD>
</TR>
</TABLE>
</DIV>
<br>
<table width="480" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><a href="JavaScript:link('v0')">パターン0へ</a></td>
<td><a href="JavaScript:link('v1')">パターン1へ</a></td>
<td><a href="JavaScript:link('v2')">パターン2へ</a></td>
<td><a href="JavaScript:link('v3')">パターン3へ</a></td>
<td><a href="JavaScript:link('v4')">パターン4へ</a></td>
<td><a href="JavaScript:link('v5')">パターン5へ</a></td>
</tr>
</table>
<script language='JavaScript'>
<!--
var rn = Math.floor(Math.random() * (i+1)); //乱数発生
var j = "v" + rn ;
if(brows==0)
document.getElementById(j).style.display='block'
else
document.layers[j].visibility='show'
//-->
</script>
</body>
</html>
=============================Sample=================================
No.6
- 回答日時:
そうですね。
初めはサンプルをコピーしてきて1ケ所いじっては確認して、1ケ所いじっては確認してを繰り返してました。それでわけの分からない
イベントハンドラやメソッドなどを、勉強系のサイトで調べてました。
書籍は一冊も買ったことがないですけど、JavaScriptに関してはネットで
十分情報が得られると思います。お互いにがんばりましょう!
私が日ごろお世話になっているサイトです。
[勉強系]
http://www5a.biglobe.ne.jp/~n_rieko/javascript/i …
http://members.jcom.home.ne.jp/kiryo/index2.html
[サンプル系]
http://allabout.co.jp/computer/javascript/subjec …
http://www2.ocn.ne.jp/~sugachuu/JavaScript/index …
http://plaza14.mbn.or.jp/~hiro628/prg/prgj00java …
http://www.sumnet.ne.jp/domp/jsbs/
この回答への補足
すみません本当に最後に質問があるんですけど、
下記のようにサンプルを追加しましたが、
ランダムで出て来るテーブルにリンクははれるのでしょうか?
ご教授お願いします。
<html>
<head>
<script language='JavaScript'>
<!--
var brows;
function write(num){
if(document.getElementById || document.all){ //NN6,7 , Mozilla , IE4,5,6,7
brows=0;
document.write("<DIV ID='v" +num+ "' style='position:relative;display:none;'>");
}else if(document.layers){ //NN4
brows=1;
document.write("<DIV ID='v" +num+ "' style='position:absolute;visibility:hidden;'>");
}
}
//-->
</script>
<title></title>
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(0);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff" width=400 height=100>
<TR>
<TD>
パターン0
</TD>
</TR>
</TABLE>
</DIV>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(1);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff" width=400 height=100>
<TR>
<TD>
パターン1
</TD>
</TR>
</TABLE>
</DIV>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(2);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff" width=400 height=100>
<TR>
<TD>
パターン2
</TD>
</TR>
</TABLE>
</DIV>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(3);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff" width=400 height=100>
<TR>
<TD>
パターン3
</TD>
</TR>
</TABLE>
</DIV>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(4);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff" width=400 height=100>
<TR>
<TD>
パターン4
</TD>
</TR>
</TABLE>
</DIV>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(5);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff" width=400 height=100>
<TR>
<TD>
パターン5
</TD>
</TR>
</TABLE>
</DIV>
<br>
<table width="480" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>パターン0へ</td>
<td>パターン1へ</td>
<td>パターン2へ</td>
<td>パターン3へ</td>
<td>パターン4へ</td>
</tr>
</table>
<script language='JavaScript'>
<!--
var i = 5; //表示件数の最大値
var rn = Math.floor(Math.random() * (i+1)); //乱数発生
var j = "v" + rn ;
if(brows==0)
document.getElementById(j).style.display='block'
else
document.layers[j].visibility='show'
//-->
</script>
</body>
</html>
No.5
- 回答日時:
もといバージョンで。
NN4.73、NN7、IE6で確認しましたが、MacIEについては手元にないので、そちらで確認してみてくださいね。
ちょっと複雑になってしまったかな。。。
1.読込初めにブラウザチェックして、それに合わせたタグを認識させる
2.読込終わりにランダムにあるテーブルのみを表示可にする
といった感じです。
=============================Sample=================================
<html>
<head>
<script language='JavaScript'>
<!--
var brows;
function write(num){
if(document.getElementById || document.all){ //NN6,7 , Mozilla , IE4,5,6,7
brows=0;
document.write("<DIV ID='v" +num+ "' style='position:relative;display:none;'>");
}else if(document.layers){ //NN4
brows=1;
document.write("<DIV ID='v" +num+ "' style='position:absolute;visibility:hidden;'>");
}
}
//-->
</script>
<title></title>
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(0);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff">
<TR>
<TD>
パターン0
</TD>
</TR>
</TABLE>
</DIV>
・
(~中略~)
・
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(4);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff">
<TR>
<TD>
パターン4
</TD>
</TR>
</TABLE>
</DIV>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/write(5);/*-->*/</SCRIPT>
<TABLE bgcolor="#ffaaff">
<TR>
<TD>
パターン5
</TD>
</TR>
</TABLE>
</DIV>
<script language='JavaScript'>
<!--
var i = 5; //表示件数の最大値
var rn = Math.floor(Math.random() * (i+1)); //乱数発生
var j = "v" + rn ;
if(brows==0)
document.getElementById(j).style.display='block'
else
document.layers[j].visibility='show'
//-->
</script>
</body>
</html>
=============================Sample=================================
この回答への補足
無事、IE、NN、macIEで動作確認できました。
ありがとうございました。感謝しています。
lonlysheepさんは、どの様にしてJavaScriptを習得されました?
やはり、サンプルなどをいじってでしょうか?
もしよろしければ教えて頂ければと思います。
No.4
- 回答日時:
visibilityバージョンで。
displayはNN6以降しか対応していないみたいです。一応これで、NN4.x、NN6、IEには対応したはず(!)です(^^;)
が、全部は確認してないので試してみてくださいね。
=============================Sample=================================
<html>
<head>
<title></title>
</head>
<body>
<DIV ID = "v0" style="position:relative;visibility:hidden;">
<TABLE bgcolor="#ffaaff">
<TR>
<TD>
パターン0
</TD>
</TR>
</TABLE>
</DIV>
・
・~中略~
・
<DIV id="v5" style="position:relative;visibility:hidden;">
<TABLE bgcolor="#ffaaff">
<TR>
<TD>
パターン5
</TD>
</TR>
</TABLE>
</DIV>
<script language='JavaScript'>
<!--
var i = 5; //表示件数の最大値
var j = Math.floor(Math.random() * (i + 1)); //乱数発生
j = "v" + j; //文字列化
if(document.getElementById) //NN6,Mozilla,IE5
document.getElementById(j).style.visibility='visible'
else if(document.all) //IE4,5,6
document.all(j).style.visibility='visible'
else if(document.layers) //NN4
document.layers[j].visibility='show'
//-->
</script>
</body>
</html>
=============================Sample=================================
この回答への補足
すいません、何度もお返事頂いて。感謝しています。
早速、ためして見ました。
自分がvisibilityを使ってみたらなんていってしまいましたが
以前(03-02-17 23:51)の形での見え方が一番ベストです。
見え方が一番重要なんです。わがままいってすみません。
ネスケ7.0で、以前(03-02-17 23:51)を起動させて見ましたが、
なにも表示されませんでした。
displayはNN6以降で対応しているのでしょうか?
最終的にネスケ又は、マックIEなどでも対応させるには、
ASPとかでないとダメなんでしょうか?
No.3
- 回答日時:
なるほど、楽天見ました。
が、あれはデータベースを利用したサーバ側の処理のようです。JavaScriptでも静的なものであれば以下のようにできます。
=============================Sample=================================
<html>
<head>
<title></title>
</head>
<body>
<DIV id="0" style="display:none">
<TABLE bgcolor="##ffaaff">
<TR>
<TD>
パターン0
</TD>
</TR>
</TABLE>
</DIV>
・
・
~ 中略 ~
・
・
<DIV id="5" style="display:none">
<TABLE bgcolor="##ffaaff">
<TR>
<TD>
パターン5
</TD>
</TR>
</TABLE>
</DIV>
<script language='JavaScript'>
<!--
var i = 5;//表示件数の最大値
var j = Math.floor(Math.random() * i); //乱数発生
j = String(j);//文字列化
document.all(j).style.display=''; //j番目を表示させる
-->
</script>
</body>
</html>
=============================Sample=================================
1.それぞれのテーブルを<DIV></DIV>で囲み、idを重複しないようにつける
2.JavaScriptの「表示件数の最大値」を<DIV>の数にする
といった感じでよいでしょうか?
この回答への補足
ありがとうございます。
早速してみましたらできました。
しかし、displayは、Netscapeだと対応してないですよね。
visibilityを使用すれば大丈夫なんでしょうか?
Netscapeでも対応してるのってないですかね?
No.2
- 回答日時:
テキストということで、こんなんでどうでしょうか?
=============================Sample=================================
<html>
<head>
<title></title>
<script language='JavaScript'>
<!--
function Random(){
i = 10;//表示件数の最大値
var j = Math.random() * i;
if( j<=1 )
document.write("パターン1");
else if( j<=2 )
document.write("パターン2");
else if( j<=3 )
document.write("パターン3");
else if( j<=4 )
document.write("パターン4");
else if( j<=5 )
document.write("パターン5");
else if( j<=6 )
document.write("パターン6");
else if( j<=7 )
document.write("パターン7");
else if( j<=8 )
document.write("パターン8");
else if( j<=9 )
document.write("パターン9");
else
document.write("パターン10");
}
//-->
</script>
</head>
<body>
<input type="button" name="change" value="更新" onClick="JavaScript:location.reload()">
<TABLE bgcolor="orange">
<TR>
<TD>
<SCRIPT LANGUAGE="JavaScript">/*<!--*/Random();/*-->*/</SCRIPT>
</TD>
</TR>
</TABLE>
</body>
</html>
=============================Sample=================================
リロードさせないでやる方法もありますが、ソースが長くなります。
この回答への補足
こんなソースまで書いて頂いて大変感謝しております。
ところでパターン1、パターン2に、例えば
document.write("
<table><tr><td>
パターン1
</td></tr></table>");
って無理じゃないですか。
どの様にすれば、楽天(http://www.rakuten.co.jp/)の
今日の特集みたいにかわるのでしょうか?
根本から違うんでしょうか?
JavaScriptではむりなのでしょうか?
No.1
- 回答日時:
具体的にどういうことをしたいのでしょうか?
静的なページであれば、JavaScriptでRandom関数とifで表示・非表示の切り替えをすれば済みそうだけど。。。
動的なページであれば、データベースからASPやPHPなどでデータを読み込む時にランダムに読み込めばできるかと思います。
参考URL:http://www2.ocn.ne.jp/~sugachuu/JavaScript/index …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Oracle sqlのupdate文で質問です。 テーブルBの番号をキーにテーブルAの身長をテーブルBの身長に更新 2 2022/11/02 15:15
- Oracle SQL update方法 2 2022/06/22 14:07
- Access(アクセス) accessについて(超初心者です) 1 2023/02/11 11:18
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- その他(Microsoft Office) エクセルでテーブルの最終行が自動追加されない 1 2023/01/04 15:09
- Excel(エクセル) Application.Volatile利用(excel2003) 1 2023/02/06 10:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ホームページに日付を自動更新...
-
来年の今日の曜日・・・?
-
HpのFlashで,ブロック回避の方...
-
静的メソッドとインスタンスメ...
-
C#テキストボックスの文字を配...
-
同じIDで定義した要素の配列を...
-
同じ型【ハイフンと数字】だけ...
-
関数でy=g(x)のgとは何の略です...
-
ボタンをクリックすると数が増...
-
二次元配列の全要素の全要素を...
-
URLのパラメータを取得しリンク...
-
Excel VBA の ChangeFileAccess
-
idを使わずにonclickで自身の要...
-
getElementByIdを使用したグロ...
-
javascript 変数名の連結をしたい
-
<a>タグのテキストを取得
-
React hooksが値を返して配列変...
-
DOM要素を削除しても、イベント...
-
ジェネレーターの作り方
-
HTML:Tableタグに対し、JavaScr...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.openでタイトル名の指定
-
ホームページに日付を自動更新...
-
テキストボックスに入力された...
-
for文のiを使ってリンク先のア...
-
○歳△ヶ月と×日を計算してくれる...
-
引数を渡さずに呼び出し元の変...
-
なぜ、ジャバスクリプトが表示...
-
innerHTMLにて設定した情報を再...
-
前のページに戻るとページトッ...
-
更新でランダムでページ内のテ...
-
今日の月と日付の1週間後や3日...
-
「今日の日付けを画像で表示」...
-
java カレンダーの日付指定で...
-
文字列を点滅させたい
-
HTMLを記述しつつサブ窓(showM...
-
条件分岐(IF文)の簡素化
-
Java Scriptのメソッドについて
-
javascriptとphpの連携で疑問
-
現在の日付から、1ヶ月前にす...
-
この方法を教えてください。
おすすめ情報