天天看點

Javascript 方法大全

一、基礎知識  

1 建立腳本塊 

1: <script language=”JavaScript”> 

2: JavaScript code goes here 

3: </script>  

2 隐藏腳本代碼 

2: <!-- 

3: document.write(“Hello”); 

4: // --> 

5: </script>  

在不支援JavaScript的浏覽器中将不執行相關代碼 

3 浏覽器不支援的時候顯示 

1: <noscript> 

2: Hello to the non-JavaScript browser. 

3: </noscript>  

4 連結外部腳本檔案 

1: <script language=”JavaScript” src="/”filename.js"”></script>  

5 注釋腳本 

1: // This is a comment 

2: document.write(“Hello”); // This is a comment 

3: /* 

4: All of this 

5: is a comment 

6: */  

6 輸出到浏覽器 

1: document.write(“<strong>Hello</strong>”);  

7 定義變量 

1: var myVariable = “some value”;  

8 字元串相加 

1: var myString = “String1” + “String2”;  

9 字元串搜尋 

3: var myVariable = “Hello there”; 

4: var therePlace = myVariable.search(“there”); 

5: document.write(therePlace); 

6: // --> 

7: </script>  

10 字元串替換 

1: thisVar.replace(“Monday”,”Friday”);  

11 格式化字串 

4: document.write(myVariable.big() + “<br>”); 

5: document.write(myVariable.blink() + “<br>”); 

6: document.write(myVariable.bold() + “<br>”); 

7: document.write(myVariable.fixed() + “<br>”); 

8: document.write(myVariable.fontcolor(“red”) + “<br>”); 

9: document.write(myVariable.fontsize(“18pt”) + “<br>”); 

10: document.write(myVariable.italics() + “<br>”); 

11: document.write(myVariable.small() + “<br>”); 

12: document.write(myVariable.strike() + “<br>”); 

13: document.write(myVariable.sub() + “<br>”); 

14: document.write(myVariable.sup() + “<br>”); 

15: document.write(myVariable.toLowerCase() + “<br>”); 

16: document.write(myVariable.toUpperCase() + “<br>”); 

17:  

18: var firstString = “My String”; 

19: var finalString = firstString.bold().toLowerCase().fontcolor(“red”); 

20: // --> 

21: </script>  

12 建立數組 

3: var myArray = new Array(5); 

4: myArray[0] = “First Entry”; 

5: myArray[1] = “Second Entry”; 

6: myArray[2] = “Third Entry”; 

7: myArray[3] = “Fourth Entry”; 

8: myArray[4] = “Fifth Entry”; 

9: var anotherArray = new Array(“First Entry”,”Second Entry”,”Third Entry”,”Fourth Entry”,”Fifth Entry”); 

10: // --> 

11: </script>  

13 數組排序 

4: myArray[0] = “z”; 

5: myArray[1] = “c”; 

6: myArray[2] = “d”; 

7: myArray[3] = “a”; 

8: myArray[4] = “q”; 

9: document.write(myArray.sort()); 

14 分割字元串 

3: var myVariable = “a,b,c,d”; 

4: var stringArray = myVariable.split(“,”); 

5: document.write(stringArray[0]); 

6: document.write(stringArray[1]); 

7: document.write(stringArray[2]); 

8: document.write(stringArray[3]); 

9: // --> 

10: </script>  

15 彈出警告資訊 

3: window.alert(“Hello”); 

16 彈出确認框 

3: var result = window.confirm(“Click OK to continue”); 

17 定義函數 

3: function multiple(number1,number2) {  

4: var result = number1 * number2; 

5: return result; 

6: } 

7: // --> 

8: </script>  

18 調用JS函數 

1: <a href=”#” onClick=”functionName()”>Link text</a> 

2: <a href="/”javascript:functionName"()”>Link text</a>  

19 在頁面加載完成後執行函數 

1: <body onLoad=”functionName();”> 

2: Body of the page 

3: </body>  

20 條件判斷 

1: <script> 

3: var userChoice = window.confirm(“Choose OK or Cancel”); 

4: var result = (userChoice == true) ? “OK” : “Cancel”; 

5: document.write(result); 

21 指定次數循環 

3: var myArray = new Array(3); 

4: myArray[0] = “Item 0”; 

5: myArray[1] = “Item 1”; 

6: myArray[2] = “Item 2”; 

7: for (i = 0; i < myArray.length; i++) {  

8: document.write(myArray[i] + “<br>”); 

9: } 

22 設定将來執行 

3: function hello() {  

4: window.alert(“Hello”); 

5: } 

6: window.setTimeout(“hello()”,5000); 

23 定時執行函數 

5: window.setTimeout(“hello()”,5000); 

7: window.setTimeout(“hello()”,5000); 

8: // --> 

9: </script>  

24 取消定時執行 

6: var myTimeout = window.setTimeout(“hello()”,5000); 

7: window.clearTimeout(myTimeout); 

25 在頁面解除安裝時候執行函數 

1: <body onUnload=”functionName();”> 

JavaScript就這麼回事2:浏覽器輸出  

26 通路document對象 

2: var myURL = document.URL; 

3: window.alert(myURL); 

4: </script>  

27 動态輸出HTML 

2: document.write(“<p>Here’s some information about this document:</p>”); 

3: document.write(“<ul>”); 

4: document.write(“<li>Referring Document: “ + document.referrer + “</li>”); 

5: document.write(“<li>Domain: “ + document.domain + “</li>”); 

6: document.write(“<li>URL: “ + document.URL + “</li>”); 

7: document.write(“</ul>”); 

28 輸出換行 

1: document.writeln(“<strong>a</strong>”); 

2: document.writeln(“b”);  

29 輸出日期 

2: var thisDate = new Date(); 

3: document.write(thisDate.toString()); 

30 指定日期的時區 

2: var myOffset = -2; 

3: var currentDate = new Date(); 

4: var userOffset = currentDate.getTimezoneOffset()/60; 

5: var timeZoneDifference = userOffset - myOffset; 

6: currentDate.setHours(currentDate.getHours() + timeZoneDifference); 

7: document.write(“The time and date in Central Europe is: “ + currentDate.toLocaleString()); 

31 設定日期輸出格式 

3: var thisTimeString = thisDate.getHours() + “:” + thisDate.getMinutes(); 

4: var thisDateString = thisDate.getFullYear() + “/” + thisDate.getMonth() + “/” + thisDate.getDate(); 

5: document.write(thisTimeString + “ on “ + thisDateString); 

6: </script>  

32 讀取URL參數 

2: var urlParts = document.URL.split(“?”); 

3: var parameterParts = urlParts[1].split(“&”); 

4: for (i = 0; i < parameterParts.length; i++) {  

5: var pairParts = parameterParts[i].split(“=”); 

6: var pairName = pairParts[0]; 

7: var pairValue = pairParts[1]; 

8: document.write(pairName + “ :“ +pairValue ); 

你還以為HTML是無狀态的麼? 

33 打開一個新的document對象 

2: function newDocument() {  

3: document.open(); 

4: document.write(“<p>This is a New Document.</p>”); 

5: document.close(); 

34 頁面跳轉 

2: window.location = “http://www.liu21st.com/”; 

35 添加網頁加載進度視窗 

1: <html> 

2: <head> 

3: <script language=’javaScript’> 

4: var placeHolder = window.open(’holder.html’,’placeholder’,’width=200,height=200’); 

5: </script> 

6: <title>The Main Page</title> 

7: </head> 

8: <body onLoad=’placeHolder.close()’> 

9: <p>This is the main page</p> 

10: </body> 

11: </html>  

三、圖像  

36 讀取圖像屬性 

1: <img src="http://www.knowsky.com/”image1.jpg"” name=”myImage”> 

2: <a href=”# ” onClick=”window.alert(document.myImage.width)”>Width</a> 

3:  

37 動态加載圖像 

2: myImage = new Image; 

3: myImage.src = “Tellers1.jpg”; 

38 簡單的圖像替換 

2: rollImage = new Image; 

3: rollImage.src = “rollImage1.jpg”; 

4: defaultImage = new Image; 

5: defaultImage.src = “image1.jpg”; 

6: </script> 

7: <a href="/”myUrl"” onMouseOver=”document.myImage.src = rollImage.src;” 

8: onMouseOut=”document.myImage.src = defaultImage.src;”> 

9: <img src="http://www.knowsky.com/”image1.jpg"” name=”myImage” width=100 height=100 border=0>  

39 随機顯示圖像 

2: var imageList = new Array; 

3: imageList[0] = “image1.jpg”; 

4: imageList[1] = “image2.jpg”; 

5: imageList[2] = “image3.jpg”; 

6: imageList[3] = “image4.jpg”; 

7: var imageChoice = Math.floor(Math.random() * imageList.length); 

8: document.write(‘<img src=”’ + imageList[imageChoice] + ‘“>’); 

40 函數實作的圖像替換 

2: var source = 0; 

3: var replacement = 1; 

4: function createRollOver(originalImage,replacementImage) {  

5: var imageArray = new Array; 

6: imageArray[source] = new Image; 

7: imageArray[source].src = originalImage; 

8: imageArray[replacement] = new Image; 

9: imageArray[replacement].src = replacementImage; 

10: return imageArray; 

11: } 

12: var rollImage1 = createRollOver(“image1.jpg”,”rollImage1.jpg”); 

13: </script> 

14: <a href=”#” onMouseOver=”document.myImage1.src = rollImage1[replacement].src;” 

15: onMouseOut=”document.myImage1.src = rollImage1[source].src;”> 

16: <img src="http://www.knowsky.com/”image1.jpg"” width=100 name=”myImage1” border=0> 

17: </a>  

41 建立幻燈片 

3: imageList[0] = new Image; 

4: imageList[0].src = “image1.jpg”; 

5: imageList[1] = new Image; 

6: imageList[1].src = “image2.jpg”; 

7: imageList[2] = new Image; 

8: imageList[2].src = “image3.jpg”; 

9: imageList[3] = new Image; 

10: imageList[3].src = “image4.jpg”; 

11: function slideShow(imageNumber) {  

12: document.slideShow.src = imageList[imageNumber].src; 

13: imageNumber += 1; 

14: if (imageNumber < imageList.length) {  

15: window.setTimeout(“slideShow(“ + imageNumber + “)”,3000); 

16: } 

17: } 

18: </script> 

19: </head> 

20: <body onLoad=”slideShow(0)”> 

21: <img src="http://www.knowsky.com/”image1.jpg"” width=100 name=”slideShow”>  

42 随機廣告圖檔 

7: var urlList = new Array; 

8: urlList[0] = “http://some.host/”; 

9: urlList[1] = “http://another.host/”; 

10: urlList[2] = “http://somewhere.else/”; 

11: urlList[3] = “http://right.here/”; 

12: var imageChoice = Math.floor(Math.random() * imageList.length); 

13: document.write(‘<a href=”’ + urlList[imageChoice] + ‘“><img src=”’ + imageList[imageChoice] + ‘“></a>’); 

14: </script>  

四、表單  

還是先繼續寫完JS就這麼回事系列吧~ 

43 表單構成 

1: <form method=”post” action=”target.html” name=”thisForm”> 

2: <input type=”text” name=”myText”> 

3: <select name=”mySelect”> 

4: <option value=”1”>First Choice</option> 

5: <option value=”2”>Second Choice</option> 

6: </select> 

7: <br> 

8: <input type=”submit” value=”Submit Me”> 

9: </form>  

44 通路表單中的文本框内容 

1: <form name=”myForm”> 

3: </form> 

4: <a href=’#’ onClick=’window.alert(document.myForm.myText.value);’>Check Text Field</a>  

45 動态複制文本框内容 

2: Enter some Text: <input type=”text” name=”myText”><br> 

3: Copy Text: <input type=”text” name=”copyText”> 

4: </form> 

5: <a href=”#” onClick=”document.myForm.copyText.value = 

6: document.myForm.myText.value;”>Copy Text Field</a>  

46 偵測文本框的變化 

2: Enter some Text: <input type=”text” name=”myText” onChange=”alert(this.value);”> 

3: </form>  

47 通路選中的Select 

2: <select name=”mySelect”> 

3: <option value=”First Choice”>1</option> 

4: <option value=”Second Choice”>2</option> 

5: <option value=”Third Choice”>3</option> 

7: </form> 

8: <a href=’#’ onClick=’alert(document.myForm.mySelect.value);’>Check Selection List</a>  

48 動态增加Select項 

5: </select> 

6: </form> 

7: <script language=”JavaScript”> 

8: document.myForm.mySelect.length++; 

9: document.myForm.mySelect.options[document.myForm.mySelect.length - 1].text = “3”; 

10: document.myForm.mySelect.options[document.myForm.mySelect.length - 1].value = “Third Choice”; 

49 驗證表單字段 

2: function checkField(field) {  

3: if (field.value == “”) {  

4: window.alert(“You must enter a value in the field”); 

5: field.focus(); 

7: } 

8: </script> 

9: <form name=”myForm” action=”target.html”> 

10: Text Field: <input type=”text” name=”myField”onBlur=”checkField(this)”> 

11: <br><input type=”submit”> 

12: </form>  

50 驗證Select項 

1: function checkList(selection) {  

2: if (selection.length == 0) {  

3: window.alert(“You must make a selection from the list.”); 

4: return false; 

6: return true; 

7: }  

51 動态改變表單的action 

1: <form name=”myForm” action=”login.html”> 

2: Username: <input type=”text” name=”username”><br> 

3: PassWord: <input type=”password” name=”password”><br> 

4: <input type=”button” value=”Login” onClick=”this.form.submit();”> 

5: <input type=”button” value=”Register” onClick=”this.form.action = ‘register.html’; this.form.submit();”> 

6: <input type=”button” value=”Retrieve Password” onClick=”this.form.action = ‘password.html’; this.form.submit();”> 

7: </form>  

52 使用圖像按鈕 

3: Password: <input type=”password”name=”password”><br> 

4: <input type=”image” src="http://www.knowsky.com/”login.gif"” value=”Login”> 

5: </form> 

6:  

53 表單資料的加密 

1: <SCRIPT LANGUAGE=’JavaScript’> 

3: function encrypt(item) {  

4: var newItem = ’’; 

5: for (i=0; i < item.length; i++) {  

6: newItem += item.charCodeAt(i) + ’.’; 

8: return newItem; 

10: function encryptForm(myForm) {  

11: for (i=0; i < myForm.elements.length; i++) {  

12: myForm.elements[i].value = encrypt(myForm.elements[i].value); 

13: } 

14: } 

15:  

16: //--> 

17: </SCRIPT> 

18: <form name=’myForm’ onSubmit=’encryptForm(this); window.alert(this.myField.value);’> 

19: Enter Some Text: <input type=text name=myField><input type=submit> 

20: </form>  

五、視窗和架構  

54 改變浏覽器狀态欄文字提示 

2: window.status = “A new status message”; 

55 彈出确認提示框 

2: var userChoice = window.confirm(“Click OK or Cancel”); 

3: if (userChoice) {  

4: document.write(“You chose OK”); 

5: } else {  

6: document.write(“You chose Cancel”); 

56 提示輸入 

2: var userName = window.prompt(“Please Enter Your Name”,”Enter Your Name Here”); 

3: document.write(“Your Name is “ + userName); 

57 打開一個新視窗 

1: //打開一個名稱為myNewWindow的浏覽器新視窗 

2: <script language=”JavaScript”> 

3: window.open(“http://www.liu21st.com/”,”myNewWindow”); 

58 設定新視窗的大小 

2: window.open(“http://www.liu21st.com/”,”myNewWindow”,’height=300,width=300’); 

59 設定新視窗的位置 

2: window.open(“http://www.liu21st.com/”,”myNewWindow”,’height=300,width=300,left=200,screenX=200,top=100,screenY=100’);

60 是否顯示工具欄和卷軸框 

2: window.open(“http:  

61 是否可以縮放新視窗的大小 

2: window.open(’http://www.liu21st.com/’ , ’myNewWindow’, ’resizable=yes’ );</script>  

62 加載一個新的文檔到目前視窗 

1: <a href=’#’ onClick=’document.location = ’125a.html’;’ >Open New Document</a>  

63 設定頁面的滾動位置 

2: if (document.all) { //如果是IE浏覽器則使用scrollTop屬性 

3: document.body.scrollTop = 200; 

4: } else { //如果是NetScape浏覽器則使用pageYOffset屬性 

5: window.pageYOffset = 200; 

6: }</script>  

64 在IE中打開全屏視窗 

1: <a href=’#’ onClick=”window.open(’http://www.juxta.com/’,’newWindow’,’fullScreen=yes’);”>Open a full-screen window</a>  

65 新視窗和父視窗的操作 

2: //定義新視窗 

3: var newWindow = window.open(“128a.html”,”newWindow”); 

4: newWindow.close(); //在父視窗中關閉打開的新視窗 

6: 在新視窗中關閉父視窗 

7: window.opener.close()  

66 往新視窗中寫内容 

2: var newWindow = window.open(“”,”newWindow”); 

3: newWindow.document.open(); 

4: newWindow.document.write(“This is a new window”); 

5: newWIndow.document.close(); 

67 加載頁面到架構頁面 

1: <frameset cols=”50%,*”> 

2: <frame name=”frame1” src="/”135a.html"”> 

3: <frame name=”frame2” src="/”about:blank"”> 

4: </frameset> 

5: 在frame1中加載frame2中的頁面 

6: parent.frame2.document.location = “135b.html”;  

68 在架構頁面之間共享腳本 

如果在frame1中html檔案中有個腳本 

1: function doAlert() {  

2: window.alert(“Frame 1 is loaded”); 

3: }  

那麼在frame2中可以如此調用該方法 

1: <body onLoad=”parent.frame1.doAlert();”> 

2: This is frame 2. 

69 資料公用 

可以在架構頁面定義資料項,使得該資料可以被多個架構中的頁面公用 

2: var persistentVariable = “This is a persistent value”; 

3: </script> 

4: <frameset cols=”50%,*”> 

5: <frame name=”frame1” src="/”138a.html"”> 

6: <frame name=”frame2” src="/”138b.html"”> 

7: </frameset>  

這樣在frame1和frame2中都可以使用變量persistentVariable  

70 架構代碼庫 

根據以上的一些思路,我們可以使用一個隐藏的架構頁面來作為整個架構集的代碼庫 

1: <frameset cols=”0,50%,*”> 

2: <frame name=”codeFrame” src="/”140code.html"”> 

3: <frame name=”frame1” src="/”140a.html"”> 

4: <frame name=”frame2” src="/”140b.html"”> 

5: </frameset>  

繼續閱讀