看板 Ajax 關於我們 聯絡資訊
※ 引述《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
twelvechen:謝謝糾正,原文已修改 03/21 00:10