close

跑馬燈 - 垂直輪播

在此蒐集了兩個方法,提供給各位參考,希望對您有幫助囉 ~

 

第一種方法:<marquee></marquee>

 

● 屬性參數介紹:

方向設定:direction="參數值";參數值有 up(向上)、dun(向下)、left(向左)、right(向右)。

對齊設定:align="參數值";參數值有 top(向上對齊)、midden(垂直至中)、botton(項下對齊)。

速度設定:scrollamount="參數值" ;參數值為數字,通常設定 1~10 的範圍,數字越大跑得越快。

長度設定:height="參數值";參數為數字,自行設定。

寬度設定:width="參數值";參數為數字,自行設定。

行為設定:behavior="參數值";參數有 alternate(來回跑)、slide(跑入後停止)。

背景顏色:bgcolor="參數值";參數可設定為顏色的色碼,不設定則沒有顏色。

 

● 語法使用範例:

基本款式:<marquee>純文字</marquee>

文字連結:<marquee><a href="連結網址">連結文字</a></marquee>

圖片:<marquee><img src="圖片網址"></marquee>

滑鼠移入後自動停止的方法:<marquee onMouseOver="this.stop()" onMouseOut="this.start()"></marquee>

 

 

第二種方法:可彈性設定「延遲秒數」

 

● html 部分:

 

<div id="ann_box" class="ann" style="width:100px;">

 

  <div id="a1" class="ann"><a href="exp01.php" >exp01</a></div>

 

  <div id="a2" class="ann"><a href="exp02.php" >exp02</a></div>

 

  <div id="a3" class="ann"><a href="exp03.php" >exp03</a></div>

 

  <div id="a4" class="ann"><a href="exp04.php" >exp04</a></div>

 

  <div id="a5" class="ann"><a href="exp05.php" >exp05</a></div>

 

</div>

 

 

● javascript 的部分:

 

function slideLine(box,stf,delay,speed,h)

 

{

 

  //取得id

 

  var slideBox = document.getElementById(box);

 

  //預設值 delay:幾毫秒滾動一次(1000毫秒=1秒)

 

  //       speed:數字越小越快,h:高度

 

  var delay = delay||1000,speed = speed||20,h = h||20;

 

  var tid = null,pause = false;

 

  //setInterval跟setTimeout的用法可以Google研究一下~

 

  var s = function(){tid=setInterval(slide, speed);}

 

  //主要動作的地方

 

  var slide = function(){

 

  //當滑鼠移到上面的時候就會暫停

 

    if(pause) return;

 

  //滾動條往下滾動 數字越大會越快但是看起來越不連貫,所以這邊用1

 

    slideBox.scrollTop += 1;

 

  //滾動到一個高度(h)的時候就停止

 

    if(slideBox.scrollTop%h == 0){

 

  //跟setInterval搭配使用的

 

      clearInterval(tid);

 

  //將剛剛滾動上去的前一項加回到整列的最後一項

 

      slideBox.appendChild(slideBox.getElementsByTagName(stf)[0]);

 

  //再重設滾動條到最上面

 

      slideBox.scrollTop = 0;

 

  //延遲多久再執行一次

 

      setTimeout(s, delay);

 

    }

 

  }

 

  //滑鼠移上去會暫停 移走會繼續動

 

  slideBox.onmouseover=function(){pause=true;}

 

  slideBox.onmouseout=function(){pause=false;}

 

  //起始的地方,沒有這個就不會動囉

 

  setTimeout(s, delay);

 

}

 

//網頁load完會執行一次

 

//五個屬性各別是:外面div的id名稱、包在裡面的標籤類型、延遲毫秒數、速度、高度

 

slideLine('ann_box','div',2000,25,20);

 

 

 

● css 的部分:

.ann{overflow:hidden;height:20px;}

 

參考自 http://www.webtech.tw/info.php?tid=22

參考自 http://blog.hsin.tw/2008/javascript-vertical-carousel/

arrow
arrow

    Austin 發表在 痞客邦 留言(0) 人氣()