Changeset 9677

Show
Ignore:
Timestamp:
04/18/08 15:27:27 (5 years ago)
Author:
drry
Message:

lang/javascript/jsonslide/sample.html
lang/javascript/jsonslide/slide.js:

  • 正規表現を修正しました。
  • ほか。
Location:
lang/javascript/jsonslide
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/jsonslide/sample.html

    r9669 r9677  
    8787    } 
    8888    .help{ 
    89     position:absolute; 
     89    position: absolute; 
    9090    background-color: #f5f5dc; 
    91     color:#696969; 
    92     width:80%; 
    93     height:500px; 
    94     top:50px; 
    95     left:10%; 
     91    color: #696969; 
     92    width: 80%; 
     93    height: 500px; 
     94    top: 50px; 
     95    left: 10%; 
    9696    font-family: sans-serif; 
    97     font-size:400%; 
    98     font-weight:bold; 
     97    font-size: 400%; 
     98    font-weight: bold; 
    9999    padding: 20px; 
    100     z-index:10; 
    101     -webkit-border-radius:10px; 
    102     -moz-border-radius:10px; 
     100    z-index: 10; 
     101    -webkit-border-radius: 10px; 
     102    -moz-border-radius: 10px; 
    103103    } 
    104     .help div{ 
    105     font-size:50%; 
     104    .help dl{ 
     105    font-size: 50%; 
    106106    } 
    107107 
     
    110110</head> 
    111111 
    112 <body> 
    113 </body> 
     112<body></body> 
    114113</html> 
  • lang/javascript/jsonslide/slide.js

    r9669 r9677  
    2525    var indeces=[]; 
    2626    var show_help=false; 
    27     var help = (function(){ 
    28         var d = ce("div"); 
    29         var s = ce("div"); 
    30  
    31         d.innerHTML="コマンドキー"; 
    32         var mes = [ 
     27    var help=(function(){ 
     28        var d=ce("div"); 
     29        var s=ce("dl"); 
     30 
     31        d.innerHTML="<h2 class='title'>コマンドキー</h2>"; 
     32        var mes=[ 
    3333            "←/→: スライドを移動/選択スライドの変更", 
    3434            "↑/↓: インデックスページを表示/選択スライドの変更", 
    35             "enter: 選択スライドを表示", 
    36             "esc: ヘルプを閉じる" 
    37        ]; 
    38         for(var i = 0, l = mes.length; i < l ; i++){ 
    39             s.innerHTML += mes[i] + "<br/>"; 
    40         } 
     35            "Enter: 選択スライドを表示", 
     36            "Esc: ヘルプを閉じる" 
     37        ]; 
     38        s.innerHTML+="<dt>" + mes.join("</dd><dt>").replace(/:\s*/g,"</dt><dd>") + "</dd>"; 
    4139        d.appendChild(s); 
    4240        d.className="help"; 
     
    261259        switch(obj.constructor){ 
    262260        case String: 
    263             if(obj.match(/((?!\.).)?\.(jpg|png|bmp|gif)/)){ 
     261            if(/[^.]\.(?:jpe?g|png|gif|bmp)$/.test(obj)){ 
    264262                    str="<img src='" + obj + "'/>"; 
    265263            }else{ 
     
    270268            str="<ul>"; 
    271269            for(var i=0,l=obj.length;i<l;i++){ 
    272                 str +="<li>" + obj[i] + "</li>"; 
    273             } 
    274             str +="</ul>"; 
     270                str+="<li>" + obj[i] + "</li>"; 
     271            } 
     272            str+="</ul>"; 
    275273            break; 
    276274        case Object: 
    277             var property; 
    278275            var style; 
    279             for(property in obj){} 
    280             if(property.match(/^[d,c,s,a,A,r,R,n]$/)){ 
    281                 style="list-style-type:"; 
    282                 switch(property){ 
    283                 case "c": style+="circle"; break; 
    284                 case "s": style+="square"; break; 
    285                 case "d": style+="decimal"; break; 
    286                 case "a": style+="lower-alpha"; break; 
    287                 case "A": style+="upper-alpha"; break; 
    288                 case "r": style+="lower-roman"; break; 
    289                 case "R": style+="upper-roman"; break; 
    290                 case "n": style+="none"; break; 
    291                 } 
    292             }else if(property.match(/\w*/)){ 
    293                 style="list-style-image:url(\"" + property + "\")"; 
    294             }else{ 
    295                 style="list-style-type:none"; 
    296             } 
    297             var list=""; 
    298             for(var i=0,l=obj[property].length;i<l;i++){ 
    299                 list+="<li>" + obj[property][i] + "</li>"; 
    300             } 
    301             str="<ul style='" + style + ";'>" + list + "</ul>"; 
     276            for(var property in obj){ 
     277                if(/^[csdaArRn]$/.test(property)){ 
     278                    style="list-style-type:"; 
     279                    switch(property){ 
     280                    case "c": style+="circle"; break; 
     281                    case "s": style+="square"; break; 
     282                    case "d": style+="decimal"; break; 
     283                    case "a": style+="lower-alpha"; break; 
     284                    case "A": style+="upper-alpha"; break; 
     285                    case "r": style+="lower-roman"; break; 
     286                    case "R": style+="upper-roman"; break; 
     287                    case "n": style+="none"; break; 
     288                    } 
     289                }else if(/\.(?:jpe?g|png|gif)$/.test(property)){ 
     290                    style="list-style-image:url(\"" + property + "\")"; 
     291                }else{ 
     292                    style="list-style-type:none"; 
     293                } 
     294                var list=""; 
     295                for(var i=0,l=obj[property].length;i<l;i++){ 
     296                    list+="<li>" + obj[property][i] + "</li>"; 
     297                } 
     298                str+="<ul style='" + style + ";'>" + list + "</ul>"; 
     299            } 
    302300 
    303301        } 
     
    308306    IE:     !!(window.attachEvent && !window.opera), 
    309307    Opera:  !!window.opera, 
    310     WebKit: navigator.userAgent.indexOf('AppleWebKit/')>-1, 
    311     Gecko:  navigator.userAgent.indexOf('Gecko/')>-1, 
     308    WebKit: navigator.userAgent.indexOf("AppleWebKit/")>-1, 
     309    Gecko:  navigator.userAgent.indexOf("Gecko/")>-1, 
    312310    MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/) 
    313311};