Feeds:
文章
留言

Archive for 十月 13th, 2005

為了實作工作上的小功能,寫了簡單的搜尋功能,如下
 var arr = [‘a1’, ‘a2’, ‘a3’, ‘aa’];
 // 二分搜尋法
 Array.prototype.bsearch = function(v, compare_func){
  function compare_def(a,b){
   return a==b?0:a<b?-1:1;
  };
  if (compare_func == null){
   compare_func = compare_def;
  }
  var lbound = 0;
  var rbound = this.length-1;
  var mid;
  while(lbound<=rbound){
   //alert(lbound + ‘/’ + mid + ‘/’ + rbound);
   mid = Math.floor((lbound+rbound)/2);
   //alert(compare_func(this[mid], v));
   switch(compare_func(this[mid], v)){
   case 0:
    return mid;
   case 1:
    rbound = mid – 1;
    break;
   case -1:
    lbound = mid + 1;
    break;
   }
  }
  return null;
 };
 alert(arr.bsearch(103));
 alert(arr.bsearch(‘aa’));
 alert(arr.bsearch(‘a1’));

Read Full Post »

最近專案需求需要將一堆最新消息的資料塞到一個區塊中顯示,並每兩條訊息以不同的背景顏色區分,以我淺薄的專業知識只知道使用<iframe>和<select>來實作,可惜<iframe>的實作效果不佳,<select>對於字串太長不會出現水平捲軸,也不是一個良好的解決方案,後來同事提供用<div>+css來實作,不過這部分我尚未測試,另一個同事提供了<marquee>+<table>解法,以下就是該標籤的簡單範例

<marquee behavior="scroll" direction="up" vspace="0" width="100%" height="200px" scrollamount="2" scrolldelay="80" onMouseOver=’this.stop()’ onMouseOut=’this.start()’ name="news">
 <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" >
  <tr valign="top" align="left" class="a3">
   <td valign="top">‧</td>
   <td valign="top" >   
    訊息#1
   </td>
  </tr>
  <tr valign="top" align="left" class="a3">
   <td valign="top">‧</td>
   <td valign="top" >   
    訊息#2
   </td>
  </tr>
 </table>
</marquee>     

marquee 標籤的重要屬性:
1. behavior: 捲動方式
  = side: 捲動到結束即停止
  = scroll: 循環捲動
  = alternate: 來回捲動
2. direction: 捲動方向
  = left
  = right
  = up
  = down  
3. scrollamount: 一次捲動的量
4. truespeed:
5. scrolldelay: 捲動延遲時間
6. loop: 捲動次數

事件:
onfinish: 捲動完成時

其他詳細資訊可以參考 MSDN(http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/marquee.asp)

Read Full Post »

電子公路監理網

Read Full Post »