基本的 JavaScript 輸出方式
只要先用 HTML 寫一個 JavaScritp 定義區,就可以輸出執行 JavaScript 了。
可是沒有開啟 JS 功能的瀏覽器看不到,所以要注意向後支援的問題。最簡單的做法是在 script 結束標籤後,加寫個 noscript 的 HTML 元素,把不能顯示 JS 時,要給人看的東西放在裡面就好。(不過你在我下面的隨機背景一例中會看到另一種做法,那是因為我的處理目標是 CSS 的關係,所以直接利用 CSS 優先順位規則,在有啟用 JS 時,才用 JS 內的 CSS 優先取代原本的 CSS 規則,沒有的時候就用原先的 CSS ,所以可以不必畫蛇添足再用 noscript 向後支援。)
上例中,可以發現到,除了宣告 JavaScript 外,還用了備註字元的 <!-- 跟 --> ,這是為了避免有瀏覽器看不懂 JavaScript 的 script 元素怎麼處理,結果錯誤輸出 JS 指令內容的問題。
然後注意一下,每個 document.write 要結束,並接下一個 document.write 時,請一定要加分號 ; 隔開,其它在宣告變數等的時候也一樣。(嫌麻煩的話,全都加分號結束也行。)
其它輸出 JavaScript 要注意的規則
JavaScript 中的註解字元
每一行中,在 // 之後的字,瀏覽器全都會當成註解文字,不會執行也不會顯示。
另外為了不讓 --> 被解讀為 JavaScript 內容,記得也要加上註解字元。
跳脫字元
當你輸出的字串中,有含一些指令會用到的特殊字元時,要把該字元當一般字串輸出,就需要在前面用反斜線 \ 讓該字元跳脫特殊字元,變成一般字串值來輸出。
document.write 的規則
- 裡面可以塞字串跟變數,也可以直接塞 HTML 跟 CSS 。
- 就算寫了兩個 document.write ,兩者在實際顯示出來時也不會換行的,請搭配 HTML 使用。
- 其它有想到再寫。
輸出 JavaScript 變數
變數,代表這裡面的值是不確定的,需要額外宣告才可以取得字串或數值。
使用時,一定要先宣告變數名稱,然後輸出時才可以指定變數要怎樣輸出。
輸出隨機背景圖片的例子
簡單說,要在使用者每次進入或刷新頁面時,輸出隨機的什麼來,那就會需要用到矩陣 Array 跟隨機值 random 之類的東西。
以輸出隨機背景圖片為例,首先你要先學會宣告一個變數,然後變數的值會等於一個矩陣,然後再一個個指定矩陣內含的值(字串或變數)有哪些;接著為了輸出這矩陣中的某張圖,你必須用 random() 來取得一個位於 0 跟 1 中間的隨機值,並乘上矩陣內的圖片張數,再利用 floor() 取得該乘積去小數點後的整數值;最後將 floor() 取出的值,代入要輸出的矩陣值中,就可以取得設定好要隨機輸出的圖片了。
話不多說,下面是搭配 HTML+CSS 輸出隨機背景圖片的例子,因為有加註解跟標色,所以慢慢看一定看得懂的,各位加油吧。
其它待寫的
- 依照時間輸出不同字串 - Word=new Array(n); date=new Date(); hour=date.getHours(); TimeMssg=Word[hour];
- 滑鼠移上去時顯示說明文字(工具提示,tooltip) - getElement(title); onMouseOver onMouseOut
- 跟 JS 沒關的 CSS 筆記 - ime-mode:disabled; table-layout:fixed
參考資料
2 comments:
請問document.form1.1_留言類別.value.length == 0
有規定form1後面的元素,第一個字元必須是英文嗎?
我如果在前面加入數字要讓表單欄位排序,但是我的驗證欄位語法就會失效,加入反斜線好像也不行ㄟ,謝謝指導。
鐵人 你好。
雖然我不太懂 form 跟大部分的 Javascript 用法,但是「 document.form1.1_留言類別 」這格式,看起來很像是在操作 id 名稱為 1_留言類別 的 form 元素?
如果那個數字開頭的地方是對應 id 屬性的話,那麼 id 的值,的確是不可以用數字開頭的。
(如果不是的話,可能要請你上別的網站詢問了。)
張貼留言