推 twelvechen:謝謝糾正,原文已修改 03/21 00:10
※ 引述《twelvechen (陳十二)》之銘言:
: 本身是寫PHP
: Java的部分很弱...
有時候多按幾個字可以避免掉一些不必要的麻煩,
好比說台北車站說北車的.. hmm..
Javascript 跟 Java 是不同的東西, 這也蠻容易撞到人的忌諱.
: 剛剛想試著在網頁中加一段JavaScript
: 來讓網頁在特定的時間內自動撥放音樂
: 可每當時間到的時候都不會撥放
: (需要自己按F5重新整理才可以)
: 順帶再一問...有辦法讓網頁上的時間跟著實際上的時間跳動嗎?
: 就是不需要再經過按F5重新整理
: 以下是小弟所寫的
: <script language="javascript">
: var d=new Date();
: var h=d.getHours();
: var m=d.getMinutes();
: var a=new Array();
: window.document.write(h+":"+m+"<br>");
: a[0]="音樂";
: a[1]="音樂";
: a[2]="音樂";
: a[3]="音樂";
: a[4]="音樂";
: var b=Math.floor(Math.random()* a.length);
: if (h==16 && m>30)
: {
: window document.write("<bgsound src='music/"+a[b]+"' loop='-1'
: \>"):
: }
: </script>
你的 code 其實只會跑一遍:
當瀏覽器載入到 script 這段就執行一遍; (以你的例子來說)
檢查完發現時間還沒到就不輸出 bgsound 的 tag,
然後就結束了.. 就.. 結束了..
要達成你想要的效果要不斷的要求程式進行檢查, 是不是四點半了
-> 還沒 -> 等一下 -> 還沒 -> 等一下 -> ... -> 四點半了
-> 輸出 -> 不要再檢查了, 結束吧
要達成目的可以用 window.setInterval([handle_function], [tick_time]);
好比說:
function check_time() {
// 檢查時間到了沒, 到了才輸出; 一但輸出過就必須把 timer 停掉.
// 以這邊的例子來說:
window.clearInterval(timer_id);
// 不進行這個動作的話會一直輸出播音樂的 tag, 應該會很可怕..
}
// 這裡的 1000 是指 1000ms, 也就是 1 秒鐘
var timer_id = window.setInterval(check_time, 1000);
動態更新時鐘文字給你一個方向是不要用 document.write,
用 document.getElementById 之類的方式操作會比較愜意.
捉到 element (好比說塞個 div 或者 span 讓他去抓) 之後
每次塞新的顯示文字給他, 比如說..
<span id="display_time"></span>
置於 <script> 之前, 搭配下面的更新文字方式
document.getElementById('display_time').innerHTML = hh + ':' + mm;
: 如上 假設小弟我設定 下午四點且大於30分時自動撥放所選取的音樂
: 我自己找都找不出漏了什麼...麻煩各位大大幫幫我
: 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.45.190.128