TOP > Users > ORCA通信アーカイブ > vol.020

 ORCA通信

ORCA通信とはサイズから定期的に発行されるスペック作成のヒントと新規開発されるメニューのご案内です。


 ORCA通信 vol.020(2009/07/03発行)


ORCAユーザーの皆様、こんにちは。
第20回ORCA通信をお届けいたします。

INDEX
[1] 開発情報:リリース情報
[2] スペック作成のヒント第20回:これは使える!JavaScript 見本はこちら


[1] 開発情報:新SpecMaker先行リリース!!

前回のORCA通信でご紹介した、バージョンアップしたSpecMakerが先行リリースです!!
設問名称も変換できるようになり、さらに便利に☆

◆ダウンロード・使い方の説明はこちらをご覧ください。

設問名称の変換が必要ない方は旧バージョンのSpecMakerをそのままご利用ください。


[2] スペック作成のヒント
第20回:これは使える!JavaScript


今回は表側に見出しを表示するJava Scriptをご紹介します。

完成画面はこのような画面です。→こちら

■サンプルスペックの説明

BANK Java Scriptタブに以下を入力します。

var target_id = "Q20000_1xQ20010XC1";

《文字色説明》

Q20000=マトリクス(親)の設問番号
Q20010=マトリクス(子)の設問番号

var span_num = [ 4, 3, 2 ];
var span_label = [ '邦画', '洋画', 'アニメ' ];
var corner_caption = "< 映 画 作 品 >";

《文字色説明》

[ 4, 3, 2 ]=見出しの範囲(選択肢数)
[ '邦画', '洋画', 'アニメ' ]=見出しに入る文字列
< 映 画 作 品 >=表肩に入る文字列

★↑★↑★↑★↑★基本的な変更箇所は上記の5箇所です★↑★↑★↑★↑★

var class_str = "MT MTHR";
function find_parent_obj( obj, nodeName )
{
if( obj )
        {
                var p_elem = obj.parentNode;
                if( p_elem )
                {
                        if( p_elem.nodeName == nodeName )
                        {
                                return p_elem;
                        }
                        return find_parent_obj( p_elem, nodeName );
                }
        }
        return;
}
function init_tablecell( elem )
{
        var table_elem = find_parent_obj( elem, "TABLE" );
        if( table_elem )
        {
                var row_elem = table_elem.rows.item(0);
                if( row_elem )
                {
                        var col_elem = row_elem.cells.item(0);
                        col_elem.colSpan += 1;
                        if( corner_caption != "" )
                        {
                                col_elem.innerHTML = corner_caption;
                        }
                }
                var row = 1;
                for( var i = 0; i < span_num.length; i++ )
                {
                        var row_elem = table_elem.rows.item(row);
                        row_elem.insertCell(0);
                        var col_elem = row_elem.cells.item(0);
                        col_elem.className = class_str;
                        if( span_num[i] > 1 )
                        {
                                col_elem.rowSpan = span_num[i];
                        }
                        if( i < span_label.length )
                        {
                                col_elem.innerHTML = span_label[i];
                        }
                        row += span_num[i];
                }
        }
}
function init_matrix_rowheader()
{
        var elem = document.getElementById( target_id );
        if( elem )
        {
                init_tablecell( elem );
        }
        else
        {
                alert(elem);
        }
}
function init()
{
        init_matrix_rowheader();
}
 ※BANK設定画面下の onload= の入力欄に init(); を入力します。

 20000.Q/20010.Q マトリクス設問です。


スペックを添付いたしますので是非コピ-してお使いください!! スペックダウンロード

※このJavaScriptを使用する場合、選択肢をランダム表示等の表示設定をすることが出来ませんのでご注意ください。

今回のORCA通信はいかがでしたか。
ご不明な点等がございましたらお気軽にご連絡ください。

『こんな見本スクリプトが欲しい!』というご要望もお待ちしております。
どしどしお寄せください!!
それでは次回もお楽しみに!


  ページトップへ

vol.019へ vol.019へ vol.021へvol.021へ