• 締切済み

条件をつけて表として書き出すには

何度もすみません。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2331409 の延長です。 データやリンク先を書き込んでいるb.js、c.jsは下記のようにして、表として書き出すものの条件を、例えば、データの15~25の間だけ表に書き出す…というようにさせたいと考えています。 例) b.js↓ var data = new Array() data[50] = "aaaaa" data[49] = "bbbbb"  ↓ data[0] = "xxxxx" c.js↓ var link = new Array() link[50] = "049.html" link[49] = "048.html"  ↓ link[0] = "001.html" 表を書き出すa.jsは教わったとおり、↓のように書き込んでいます。 for(i=data.length-1;i>=0;i--){ str_html = str_html + '<tr><td><a href=' + link[i] + '>' + data[i] + '</td>'; --i; if(i==-1){ str_html = str_html + '<td></td></tr>'; }else{ str_html = str_html + '<td><a href=' + link[i] + '>' + data[i] + '</td></tr>'; } } 最小限の改造でできる方法はないでしょうか。 よろしくお願いします。

みんなの回答

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.1

とりあえず。。。 一番簡単なのは、for文の使い方を読めばいいのではないでしょうかっ。。。? Yahoo検索で、「JavaScript for文」とか打てばfor文の説明がいろいろ出てくるかと。 今は、50から始まって0で終わるプログラムなので、25から始まって15で終わるようにすればいいだけです。 まぁ、15~25の範囲を可変にしたい。のならちょっと変える必要がありますが。

nsi2xpz
質問者

お礼

なんとかできました♪ ありがとうございました

関連するQ&A

  • 自動で表作成

    ぜひご教授ください。 以前、問合せていただいたものの延長です http://oshiete1.goo.ne.jp/kotaeru.php3?q=2261428 データをhtmlに、ジャバスクリプトで表にしようとしていて、ジャバスクリプトファイル(a.js)とデータは別ファイル化(b.jsとc.js)することを前提にしています。 いざ作りはじめたところ、データが多いことがわかったので、表を2列にしたものにできないか、と考えたのですが、その場合、a.jsはどのように書き込めばよいのか、皆目検討がつきません。 よろしくお願いします。 ちなみに、今現在の状況はこうなっています。 a.js↓ html = '<TABLE cellpadding="3" cellspacing="2" width="100%">'   for (i=data.length-1;i>=0;i--) //昇順:  for (i=0;i<data.length;i++) //降順: for (i=data.length-1;i>=0;i--) { html += ' <TBODY><TR>' html += ' <TD bgcolor="#ffffff" onmouseover="this.style.backgroundColor='#8b0000'" onmouseout="this.style.backgroundColor=''"> ' html += ' <TABLE width="100%" cellpadding="1" cellspacing="0" bgcolor="#ffffff"> ' html += ' <TBODY><TR> ' html += ' <td><a href= ' +link[i]+' >' html += ' '+data[i]+ ' </td>' html += ' </tr></tbody></table>' html += ' </td></tr></tbody>' } html += '</table>' //書き出し document.write( html ) b.js↓ var data = new Array() data[50] = "aaaaa" data[49] = "bbbbb"  ↓ data[0] = "xxxxx" c.js↓ var link = new Array() link[50] = "049.html" link[49] = "048.html"  ↓ link[0] = "001.html"

  • データのidの多い順に書き出す

    ぜひご教授ください。 データをhtmlに、ジャバスクリプトで表にしようとしています。 その際、ジャバスクリプトファイルとデータは別ファイル化することを前提にしています。 具体には、a.jsは、テーブルの書き出しを想定し、次のように書き込んでいます。 //テーブル書き出し html = '<table width="195px">' for (i=0;i<data.length-1;i++) { html += ' <tr>' html += ' <td> ' +data[i]+ ' </td>' html += ' </tr>' } html += '</table>' //書き出し document.write( html ) //--> そして、b.jsはデータファイルとし、次のように書き込んでいます。 var data = new Array() data[0] = "aaaaa" data[1] = "bbbbb" で、これをhtmlに表示させると、aaaaaの下にbbbbbが来るわけですが、考えているのは、データを足していき、htmlの表示は、新しい順にならべたいと考えているため、これでは不服なのです。 いちいち、データファイルに足す際、data[*]を全部書き換えるのも嫌なので、そのまま、*は大きいものを足すだけで、それでいてhtmlの方は*の大きい方から表示する…。 そうするには、どこをどういじればよいのでしょうか。 本気で困っています。 よろしくお願いいたします。

  • 表を外部ファイルとして読み込む方法

    <TABLE border="1"> <TBODY> <TR> <TD><A href="1.html">1</A></TD> <TD><A href="2.html">2</A></TD> <TD><A href="3.html">3</A></TD> <TD><A href="4.html">4</A></TD> </TR> <TR> <TD>5</TD> <TD>6</TD> <TD>7</TD> <TD>8</TD> </TR> <TR> <TD>9</TD> <TD>10</TD> <TD>11</TD> <TD>12</TD> </TR> <TR> <TD>13</TD> <TD>14</TD> <TD>15</TD> <TD>16</TD> </TR> </TBODY> </TABLE> 上記のようの表を、複数のページで読み込ませたいのです。 表は随時変更する為、各ページをいちいち修正しなくてはなりません。 ですので外部ファイルとして、上記の表を作り、各ページで読み込む方法はあれば教えていただきたいです。 <script language="JavaScript" src="test.js"></script> という感じでと読み込めるかと思いましたが、jsファイルの方に構文エラーが出てしまうようです。 jsファイルの書き方が悪いのか、もしくは無理なのか、他に方法があるのか、 もし分かりましたらよろしくお願いしますm(__)m

  • ランダム表示の画像とリンクのづれを修正したい

    以前こちらで下記のようなjavascriptのリンク付画像のランダム表示方法を教えて頂きました。 画像は全部で20枚以上、表示枚数は8枚、総画像枚数分別々のリンク先を指定します。画像枚数分のhtmlページが存在し、全てのページにテンプレートで同じスクリプトが組み込んであり、それぞれのページに8枚の違う画像が表示され、そこから好きな画像をクリックすることで指定したリンクページにジャンプさせたいのです。 が…確認すると画像は8枚づつランダムに表示はされるのですが、画像とその画像に指定したリンクがづれる箇所があります。全部ではないのですが…どこで画像とリンクがづれているのかいつも決まっているわけでもなく全くわかりません。 Images.splice(k,1);のところだと思いイジってみたものの今度は画像の表示8枚の中で、同じ画像が 表示されてしまったりと、解決できませんでした。 どのように直せば画像をランダムに表示させてリンク先のづれを無くせるのか、よろしければどなたか教えて頂けると大変光栄です。 <head> <script type="text/javascript"> var imgcount=23; var viewcount=8; var Images = new Array(); var Link = new Array(); Link[0]="o00.htm"; Link[1]="o01.htm"; Link[2]="o02.htm"; ・・・・・・ Images[0] = './img/0.jpg'; Images[1] = './img/01.jpg'; Images[2] = './img/02.jpg'; ・・・・・・ function changeImage(){ for(i=0;i<viewcount;i++){ k = parseInt(Math.random() * Images.length); document.getElementById("a_"+i).innerHTML='<a href="'+Link[k]+'" target="_self"> <img src="'+Images[k]+'"></a>'; Images.splice(k,1); } } </script> </head> <body onload="changeImage()"> <table> <tr><td id="a_0"></td><td id="a_1"></td><td id="a_2"></td><td id="a_3"></td></tr> <tr><td id="a_4"></td><td id="a_5"></td><td id="a_6"></td><td id="a_7"></td></tr> </table> よろしくお願いいたします。

  • 日付けによる表示分け

    いつも参考にさせていただいております。 MacOS 10.6  Safari 5.1 初歩的なことですが教えていただきたいのですが。 外部JavaScriptファイル内容(ファイル名 01.js) <!-- today = new Date(); y = today.getFullYear(); m = today.getMonth()+1; d = today.getDate(); // リンクA var ing_date = "20120224"; // 準備表示期間 var new_date = "20120311"; // 新規表示期間 // リンクB var j-ing_date = "20120301";    // 準備表示期間 var j-new_date = "20120401"; // 新規表示期間 のファイルを目次ページの中で、 目次ページ HTML 内容 <script language="JavaScript" src="java/01.js"> if ((y*10000+m*100+d) <= ing_date){ document.write("リンク-A"); document.write('<font color="#ff0000" size="2">&nbsp;制作中</font>'); } else if((y*10000+m*100+d) <= new_date){ document.write('<a href="../link/link-A.html" target="_top">リンク-A</a>'); document.write('&nbsp;<font color="#ff0000" size="2">&nbsp;新規</font>'); } //--> </script> </tr> <tr> <td valign="top" align="left" width="30">&nbsp;</td> <td height="20" align="left" valign="center"> <a href="../link/link-1.html" target="_top">リンク-1</a> </td> </tr> <tr> <td valign="top" align="left" width="30">&nbsp;</td> <td height="24" align="left" valign="center"> <a href="../link/link-2.html" target="_top">リンク-2</a> </td> </tr>     略・・・・・・・ として、新規リンクの表示をさせようとしているのですが、JavaScript部分が表示されません。 Safari上でエラーコンソールを見ても、エラー表示が出ません。 Scripyの書き方が間違っているのか?見当がつきません。 このような表示をさせるところが、4~5ヶ所あるので、日時をあわせたいと思って、このような試みをしました。 恐縮ですが、よろしくご教授ください。

  • リンク付バナーのランダム表示のづれを修正したい

    以前こちらで、以下のようなそれぞれの画像にリンクを付けた画像をランダム表示させるjavaスクリプトを教えて頂き、html上に記述しましたが、指定した画像とリンク先が途中づれてしまいます。 ページ数と用意した画像とリンク先は23、表示は8。すべて同じように記述された商品紹介ページです。ランダムに表示される画像からジャンプ先のページに行き、そのページ内の画像からまた別ページにジャンプを繰り返し確認したところ、途中で指定した画像とリンクにづれが出てきます。 ある一定のところでづれているのかどうかも、わからず、何故づれるのか?困っています。 どなたかお解かりの方、ご助力いただけないでしょうか? 記述は以下のとおりです。 <script type="text/javascript"> var imgcount=23; var viewcount=8; var Images = new Array(); var Link = new Array(); Link[0]="f-00.htm"; Link[1]="f-01.htm";・・・ Images[0] = './../img/0.jpg'; Images[1] = './../img/1.jpg';・・・ </script> <body onload="changeImage()" > <table id="ramdom_box"> <tr><td id="a_0"></td><td id="a_1"></td><td id="a_2"></td><td id="a_3"></td></tr> <tr><td id="a_4"></td><td id="a_5"></td><td id="a_6"></td><td id="a_7"></td></tr> </table>

  • javascript で undefinedと表示されます

    全ての変数、配列に alert(typeof variable); を試しましたが undefinedが見つかりません。 function a{ var lastdayArray = new Array ('','31','28','31','30','31','30','31','31','30','31','30','31'); var weekArray = new Array ('日','月','火','水','木','金','土'); var a = new Date(); var b = new Date(); var mymonth = a.getMonth()+1; var nextmonth =mymonth +1 ; var myyear = a.getYear()+1;   var today = a.getDate(); var maxbox = 36; var sday = a.setDate(1); var nday = b.setDate(1); var nmonth = b.setMonth(mymonth); var nwday = b.getDay(); var fwk = a.getDay(); var nfday = 6 - nwday; var fline = 6 - fwk; var nextlsday = lastdayArray[mymonth]; var lsbox = (fwk + lastdayArray[mymonth]) +1; var monthArray = new Array(mymonth,nextmonth); var monthflg = new Array(fwk,nfday); var nextflg = new Array(fline,nwday); var s_no0 = 1;   var s_no1 = 1; //数値代入変数       var s_no2 = 1; var s_no3 = 0; var s_no4 = 0; var s_no5 = 0; var s_no6 = 0; var s_no7 = 0; var s_no8 = 0; var schedule_no = new Array(s_no0,s_no1,s_no2,s_no3,s_no4,s_no5,s_no6,s_no7,s_no8); var s_str0 = 'a'; var s_str1 = 'a'; //文字列代入変数 var s_str2 = 'a'; var s_str3 = 'a'; var s_str4 = 'a'; var s_str5 = 'aa'; var s_str6 = 'a'; var s_str7 = 'a'; var s_str8 = 'a'; var schedule_str = new Array(s_str0,s_str1,s_str2,s_str3,s_str4,s_str5,s_str6,s_str7,s_str8); for(var x = 0; x < 2; x++){ daycount = 0; document.write(monthArray[x] + '月の予定'); if(nmonth == 12){nmonth = 0;} document.write('<table width="73%" height="337" border="1" cellpadding="1" cellspacing="1">'); //曜日出力 document.write('<tr>'); for(var l = 0 ; l <= 6; l ++){ if(l == 0){ weekArray[l] = (weekArray[l].fontcolor('#ff1493').fontsize(4)); } else if(l == 6){ weekArray[l] = (weekArray[l].fontcolor('#87ceeb').fontsize(4)); } document.write('<td>' + weekArray[l] +'</td>');} document.write('</tr>'); //曜日を判定しテーブル出力 document.write('<tr>'); //空ボックス出力 if((monthflg[x]) != 6 ){ for(var k = 0; k < (monthflg[x]); k++){ document.write('<td>' + '&nbsp;' +'</td>'); } } if((monthflg[x]) == 0){ for(var y = 0; y < 6 ; y++){ document.write('<td>' + '&nbsp;' +'</td>'); } if((schedule_no[y]) === daycount){ daycount ++; document.write('<td>' + daycount + schedule_str[y] +'</td>'); } else { daycount ++; document.write('<td>' + daycount +'</td>'); } } else{ //空ボックスの数~土曜日まで出力 for(var m =0 ; m <= nextflg[x]; m++){ if((schedule_no[m]) === daycount){ daycount ++; document.write('<td>' + daycount + schedule_str[m] +'</td>'); } else { daycount ++; document.write('<td>' + daycount +'</td>'); } } } document.write('</tr>'); //行出力 for(var i =0 ; i < 4; i++){ document.write('<tr>'); //列出力 for(var j =0 ; j < 7; j++){ if(daycount < lastdayArray[monthArray[x]]){ daycount ++; document.write('<td>' + daycount +'</td>'); } else{ document.write('<td>' + '&nbsp;' +'</td>'); } } document.write('</tr>'); } //最終行出力 if(daycount < lastdayArray[monthArray[x]]){ document.write('<tr>'); for(var p =0 ; p < 7 ; p++){ if(daycount < lastdayArray[monthArray[x]]){ if((schedule_no[p]) === daycount){ daycount ++; document.write('<td>' + daycount + schedule_str[p] +'</td>'); } else { daycount ++; document.write('<td>' + daycount +'</td>'); } } else{ document.write('<td>' + '&nbsp;' +'</td>'); } } document.write('</tr>'); } document.write('</table>'); } }

  • 同ディレクトリのhtmlのリンクを表示させるには

    本日の日付から3日間のリンク情報をピックアップさせたくて作成してみました。 リンク情報部分を同ディレクトリの他のhtmlファイルにして、読み込ませて処理 させたいのですがどうしたものか分からず困っております。 VBは多少経験があるもののjavascriptは初心者でして、いろいろ至りませんが、 どうぞよろしくお願い致します。 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>サンプルページ</title> </head> <body> <h1>サンプル</h1> <!-- ここから --> <table border="0" width="560" cellpadding="2" cellspacing="0">  <tr>   <td class="border" id="201307220"><a href="d.html" target="_blank">7/22 セミナー</a></td>  </tr>  <tr>   <td class="border" id="201307200"><a href="d.html" target="_blank">7/20 会議</a></td>  </tr>  <tr>   <td class="border" id="201307191"><a href="e.html" target="_blank">7/19 機器入れ替え</a></td>  </tr>  <tr>   <td class="border" id="201307190"><a href="f.html" target="_blank">7/19 会議</a></td>  </tr>  <tr>   <td class="border" id="201307180"><a href="g.html" target="_blank">7/18 セミナー</a></td>  </tr> </table> <!-- ここまでのデータは同一ディレクトリ内の他のページからデータを参照させてピックアップさせたい --> <script type="text/javascript"> //現在日時取得 var TODAY = new Date(); var strDate = new Array(3); var afterDays; var year; var month; var day; //現在日から3日間の日付を取得しidと比較可能な形式にする for (i = 0; i < 3; i++){ afterDays = new Date(TODAY.getTime() + i *24*60*60*1000); year = afterDays.getFullYear();   month = afterDays.getMonth() + 1;   day = afterDays.getDate(); if (month < 10) { month = String("0" + month); } if (day < 10) { day = String("0" + day); } strDate[i] = String(year + month + day); } //リンク抽出表示 for (y = 0; y < 3; y++){ for (z =0; z < 2; z++){ if (document.getElementById(strDate[y] + z) == null) { ; } else { document.write(document.getElementById(strDate[y] + z).innerHTML + "<br>"); } } } </script> </body> </html>

    • ベストアンサー
    • HTML
  • webbrowserで特定のタグを取得したい

    VB6もしくはVBAです。 HTMLの中をループしてタグを取得しています。 For Each myTag In myIE.Document.all.tags("TD") 次のようなHTMLがあって"このTD"に含まれるAタグを取得したい場合、 指定のTD内だけでループしてAタグを取得するにはどうしたらいいのでしょうか? <table width="200" border="1"> <tr> <td><a href="#">AAAAA</a><a href="#">AAAAA</a><a href="#">AAAAA</a></td> 'このTD <td><a href="#">BBBBB</a><a href="#">BBBBB</a><a href="#">BBBBB</a></td> <td><a href="#">CCCCC</a><a href="#">CCCCC</a><a href="#">CCCCC</a></td> </tr> <tr> <td>DDDDD</td> <td>EEEEE</td> <td>FFFFF</td> </tr> <tr> <td>GGGGG</td> <td>HHHHH</td> <td>IIIII</td> </tr> </table>

  • 表を無理やり100%に?

    自分で作成した下記のようなページがあり、 <A HREF="#" onclick="★">巾変更</A> <TABLE BORDER="1"> <TR><TD>氏名</TD><TD>住所</TD></TR> <TR><TD></TD><TD></TD></TR> <TR><TD></TD><TD></TD></TR> </TABLE> これを前提として、 javascriptにて、★をクリックすると 表のWIDTHを[100%]と[指定なし]、交互に変更するようなことはできますか。

専門家に質問してみよう