zoukankan      html  css  js  c++  java
  • Javascript 常用函数【1】



    1. 1:基础知识      
    2. 1 创建脚本块      
    3. 1: <script language=”JavaScript”>      
    4. 2: JavaScript code goes here      
    5. 3: </script>      
    6. 2 隐藏脚本代码      
    7. 1: <script language=”JavaScript”>      
    8. 2: <!–      
    9. 3: document.write(“Hello”);      
    10. 4: // –>      
    11. 5: </script>      
    12. 在不支持JavaScript的浏览器中将不执行相关代码      
    13. 3 浏览器不支持的时候显示      
    14. 1: <noscript>      
    15. 2: Hello to the non-JavaScript browser.      
    16. 3: </noscript>      
    17. 4 链接外部脚本文件      
    18. 1: <script language=”JavaScript” src="/”filename.js"”></script>      
    19. 5 注释脚本      
    20. 1: // This is a comment      
    21. 2: document.write(“Hello”); // This is a comment      
    22. 3: /*    
    23. 4: All of this    
    24. 5: is a comment    
    25. 6: */      
    26. 6 输出到浏览器      
    27. 1: document.write(“<strong>Hello</strong>”);      
    28. 7 定义变量      
    29. 1: var myVariable = “some value”;      
    30. 8 字符串相加      
    31. 1: var myString = “String1” + “String2”;      
    32. 9 字符串搜索      
    33. 1: <script language=”JavaScript”>      
    34. 2: <!–      
    35. 3: var myVariable = “Hello there”;      
    36. 4: var therePlace = myVariable.search(“there”);      
    37. 5: document.write(therePlace);      
    38. 6: // –>      
    39. 7: </script>      
    40. 10 字符串替换      
    41. 1: thisVar.replace(“Monday”,”Friday”);      
    42. 11 格式化字串      
    43. 1: <script language=”JavaScript”>      
    44. 2: <!–      
    45. 3: var myVariable = “Hello there”;      
    46. 4: document.write(myVariable.big() + “<br>”);      
    47. 5: document.write(myVariable.blink() + “<br>”);      
    48. 6: document.write(myVariable.bold() + “<br>”);      
    49. 7: document.write(myVariable.fixed() + “<br>”);      
    50. 8: document.write(myVariable.fontcolor(“red”) + “<br>”);      
    51. 9: document.write(myVariable.fontsize(“18pt”) + “<br>”);      
    52. 10: document.write(myVariable.italics() + “<br>”);      
    53. 11: document.write(myVariable.small() + “<br>”);      
    54. 12: document.write(myVariable.strike() + “<br>”);      
    55. 13: document.write(myVariable.sub() + “<br>”);      
    56. 14: document.write(myVariable.sup() + “<br>”);      
    57. 15: document.write(myVariable.toLowerCase() + “<br>”);      
    58. 16: document.write(myVariable.toUpperCase() + “<br>”);      
    59. 17:      
    60. 18: var firstString = “My String”;      
    61. 19: var finalString = firstString.bold().toLowerCase().fontcolor(“red”);      
    62. 20: // –>      
    63. 21: </script>      
    64. 12 创建数组      
    65. 1: <script language=”JavaScript”>      
    66. 2: <!–      
    67. 3: var myArray = new Array(5);      
    68. 4: myArray[0] = “First Entry”;      
    69. 5: myArray[1] = “Second Entry”;      
    70. 6: myArray[2] = “Third Entry”;      
    71. 7: myArray[3] = “Fourth Entry”;      
    72. 8: myArray[4] = “Fifth Entry”;      
    73. 9: var anotherArray = new Array(“First Entry”,”Second Entry”,”Third Entry”,”Fourth Entry”,”Fifth Entry”);      
    74. 10: // –>      
    75. 11: </script>      
    76. 13 数组排序      
    77. 1: <script language=”JavaScript”>      
    78. 2: <!–      
    79. 3: var myArray = new Array(5);      
    80. 4: myArray[0] = “z”;      
    81. 5: myArray[1] = “c”;      
    82. 6: myArray[2] = “d”;      
    83. 7: myArray[3] = “a”;      
    84. 8: myArray[4] = “q”;      
    85. 9: document.write(myArray.sort());      
    86. 10: // –>      
    87. 11: </script>      
    88. 14 分割字符串      
    89. 1: <script language=”JavaScript”>      
    90. 2: <!–      
    91. 3: var myVariable = “a,b,c,d”;      
    92. 4: var stringArray = myVariable.split(“,”);      
    93. 5: document.write(stringArray[0]);      
    94. 6: document.write(stringArray[1]);      
    95. 7: document.write(stringArray[2]);      
    96. 8: document.write(stringArray[3]);      
    97. 9: // –>      
    98. 10: </script>      
    99. 15 弹出警告信息      
    100. 1: <script language=”JavaScript”>      
    101. 2: <!–      
    102. 3: window.alert(“Hello”);      
    103. 4: // –>      
    104. 5: </script>      
    105. 16 弹出确认框      
    106. 1: <script language=”JavaScript”>      
    107. 2: <!–      
    108. 3: var result = window.confirm(“Click OK to continue”);      
    109. 4: // –>      
    110. 5: </script>      
    111. 17 定义函数      
    112. 1: <script language=”JavaScript”>      
    113. 2: <!–      
    114. 3: function multiple(number1,number2) {      
    115. 4: var result = number1 * number2;      
    116. 5: return result;      
    117. 6: }      
    118. 7: // –>      
    119. 8: </script>      
    120. 18 调用JS函数      
    121. 1: <a href=”#” onClick=”functionName()”>Link text</a>      
    122. 2: <a href="/”javascript:functionName"()”>Link text</a>      
    123. 19 在页面加载完成后执行函数      
    124. 1: <body onLoad=”functionName();”>      
    125. 2: Body of the page      
    126. 3: </body>      
    127. 20 条件判断      
    128. 1: <script>      
    129. 2: <!–      
    130. 3: var userChoice = window.confirm(“Choose OK or Cancel”);      
    131. 4: var result = (userChoice == true) ? “OK” : “Cancel”;      
    132. 5: document.write(result);      
    133. 6: // –>      
    134. 7: </script>      
    135. 21 指定次数循环      
    136. 1: <script>      
    137. 2: <!–      
    138. 3: var myArray = new Array(3);      
    139. 4: myArray[0] = “Item 0”;      
    140. 5: myArray[1] = “Item 1”;      
    141. 6: myArray[2] = “Item 2”;      
    142. 7: for (i = 0; i < myArray.length; i++) {      
    143. 8: document.write(myArray[i] + “<br>”);      
    144. 9: }      
    145. 10: // –>      
    146. 11: </script>      
    147. 22 设定将来执行      
    148. 1: <script>      
    149. 2: <!–      
    150. 3: function hello() {      
    151. 4: window.alert(“Hello”);      
    152. 5: }      
    153. 6: window.setTimeout(“hello()”,5000);      
    154. 7: // –>      
    155. 8: </script>      
    156. 23 定时执行函数      
    157. 1: <script>      
    158. 2: <!–      
    159. 3: function hello() {      
    160. 4: window.alert(“Hello”);      
    161. 5: window.setTimeout(“hello()”,5000);      
    162. 6: }      
    163. 7: window.setTimeout(“hello()”,5000);      
    164. 8: // –>      
    165. 9: </script>      
    166. 24 取消定时执行      
    167. 1: <script>      
    168. 2: <!–      
    169. 3: function hello() {      
    170. 4: window.alert(“Hello”);      
    171. 5: }      
    172. 6: var myTimeout = window.setTimeout(“hello()”,5000);      
    173. 7: window.clearTimeout(myTimeout);      
    174. 8: // –>      
    175. 9: </script>      
    176. 25 在页面卸载时候执行函数      
    177. 1: <body onUnload=”functionName();”>      
    178. 2: Body of the page      
    179. 3: </body>      
    180. JavaScript就这么回事2:浏览器输出      
    181. 26 访问document对象      
    182. 1: <script language=”JavaScript”>      
    183. 2: var myURL = document.URL;      
    184. 3: window.alert(myURL);      
    185. 4: </script>      
    186. 27 动态输出HTML      
    187. 1: <script language=”JavaScript”>      
    188. 2: document.write(“<p>Here’s some information about this document:</p>”);      
    189. 3: document.write(“<ul>”);      
    190. 4: document.write(“<li>Referring Document: “ + document.referrer + “</li>”);      
    191. 5: document.write(“<li>Domain: “ + document.domain + “</li>”);      
    192. 6: document.write(“<li>URL: “ + document.URL + “</li>”);      
    193. 7: document.write(“</ul>”);      
    194. 8: </script>      
    195. 28 输出换行      
    196. 1: document.writeln(“<strong>a</strong>”);      
    197. 2: document.writeln(“b”);      
    198. 29 输出日期      
    199. 1: <script language=”JavaScript”>      
    200. 2: var thisDate = new Date();      
    201. 3: document.write(thisDate.toString());      
    202. 4: </script>      
    203. 30 指定日期的时区      
    204. 1: <script language=”JavaScript”>      
    205. 2: var myOffset = -2;      
    206. 3: var currentDate = new Date();      
    207. 4: var userOffset = currentDate.getTimezoneOffset()/60;      
    208. 5: var timeZoneDifference = userOffset - myOffset;      
    209. 6: currentDate.setHours(currentDate.getHours() + timeZoneDifference);      
    210. 7: document.write(“The time and date in Central Europe is: “ + currentDate.toLocaleString());      
    211. 8: </script>      
    212. 31 设置日期输出格式      
    213. 1: <script language=”JavaScript”>      
    214. 2: var thisDate = new Date();      
    215. 3: var thisTimeString = thisDate.getHours() + “:” + thisDate.getMinutes();      
    216. 4: var thisDateString = thisDate.getFullYear() + “/” + thisDate.getMonth() + “/” + thisDate.getDate();      
    217. 5: document.write(thisTimeString + “ on “ + thisDateString);      
    218. 6: </script>      
    219. 32 读取URL参数      
    220. 1: <script language=”JavaScript”>      
    221. 2: var urlParts = document.URL.split(“?”);      
    222. 3: var parameterParts = urlParts[1].split(“&”);      
    223. 4: for (i = 0; i < parameterParts.length; i++) {      
    224. 5: var pairParts = parameterParts[i].split(“=”);      
    225. 6: var pairName = pairParts[0];      
    226. 7: var pairValue = pairParts[1];      
    227. 8: document.write(pairName + “ :“ +pairValue );      
    228. 9: }      
    229. 10: </script>      
    230. 你还以为HTML是无状态的么?      
    231. 33 打开一个新的document对象      
    232. 1: <script language=”JavaScript”>      
    233. 2: function newDocument() {      
    234. 3: document.open();      
    235. 4: document.write(“<p>This is a New Document.</p>”);      
    236. 5: document.close();      
    237. 6: }      
    238. 7: </script>      
    239. 34 页面跳转      
    240. 1: <script language=”JavaScript”>      
    241. 2: window.location = “http://www.velee.cn”;      
    242. 3: </script>      
    243. 35 添加网页加载进度窗口      
    244. 1: <html>      
    245. 2: <head>      
    246. 3: <script language='javaScript'>      
    247. 4: var placeHolder = window.open('holder.html','placeholder','width=200,height=200');      
    248. 5: </script>      
    249. 6: <title>The Main Page</title>      
    250. 7: </head>      
    251. 8: <body onLoad='placeHolder.close()'>      
    252. 9: <p>This is the main page</p>      
    253. 10: </body>      
    254. 11: </html>      
    255. JavaScript就这么回事3:图像      
    256. 36 读取图像属性      
    257. 1: <img src="/”image1.jpg"” name=”myImage”>      
    258. 2: <a href=”# ” onClick=”window.alert(document.myImage.width)”>Width</a>      
    259. 3:      
    260. 37 动态加载图像      
    261. 1: <script language=”JavaScript”>      
    262. 2: myImage = new Image;      
    263. 3: myImage.src = “Tellers1.jpg”;      
    264. 4: </script>      
    265. 38 简单的图像替换      
    266. 1: <script language=”JavaScript”>      
    267. 2: rollImage = new Image;      
    268. 3: rollImage.src = “rollImage1.jpg”;      
    269. 4: defaultImage = new Image;      
    270. 5: defaultImage.src = “image1.jpg”;      
    271. 6: </script>      
    272. 7: <a href="/”myUrl"” onMouseOver=”document.myImage.src = rollImage.src;”      
    273. 8: onMouseOut=”document.myImage.src = defaultImage.src;”>      
    274. 9: <img src="/”image1.jpg"” name=”myImage” width=100 height=100 border=0>      
    275. 39 随机显示图像      
    276. 1: <script language=”JavaScript”>      
    277. 2: var imageList = new Array;      
    278. 3: imageList[0] = “image1.jpg”;      
    279. 4: imageList[1] = “image2.jpg”;      
    280. 5: imageList[2] = “image3.jpg”;      
    281. 6: imageList[3] = “image4.jpg”;      
    282. 7: var imageChoice = Math.floor(Math.random() * imageList.length);      
    283. 8: document.write(‘<img src=”’ + imageList[imageChoice] + ‘“>’);      
    284. 9: </script>      
    285. 40 函数实现的图像替换      
    286. 1: <script language=”JavaScript”>      
    287. 2: var source = 0;      
    288. 3: var replacement = 1;      
    289. 4: function createRollOver(originalImage,replacementImage) {      
    290. 5: var imageArray = new Array;      
    291. 6: imageArray[source] = new Image;      
    292. 7: imageArray[source].src = originalImage;      
    293. 8: imageArray[replacement] = new Image;      
    294. 9: imageArray[replacement].src = replacementImage;      
    295. 10: return imageArray;      
    296. 11: }      
    297. 12: var rollImage1 = createRollOver(“image1.jpg”,”rollImage1.jpg”);      
    298. 13: </script>      
    299. 14: <a href=”#” onMouseOver=”document.myImage1.src = rollImage1[replacement].src;”      
    300. 15: onMouseOut=”document.myImage1.src = rollImage1[source].src;”>      
    301. 16: <img src="/”image1.jpg"” width=100 name=”myImage1” border=0>      
    302. 17: </a>      
    303. 41 创建幻灯片      
    304. 1: <script language=”JavaScript”>      
    305. 2: var imageList = new Array;      
    306. 3: imageList[0] = new Image;      
    307. 4: imageList[0].src = “image1.jpg”;      
    308. 5: imageList[1] = new Image;      
    309. 6: imageList[1].src = “image2.jpg”;      
    310. 7: imageList[2] = new Image;      
    311. 8: imageList[2].src = “image3.jpg”;      
    312. 9: imageList[3] = new Image;      
    313. 10: imageList[3].src = “image4.jpg”;      
    314. 11: function slideShow(imageNumber) {      
    315. 12: document.slideShow.src = imageList[imageNumber].src;      
    316. 13: imageNumber += 1;      
    317. 14: if (imageNumber < imageList.length) {      
    318. 15: window.setTimeout(“slideShow(“ + imageNumber + “)”,3000);      
    319. 16: }      
    320. 17: }      
    321. 18: </script>      
    322. 19: </head>      
    323. 20: <body onLoad=”slideShow(0)”>      
    324. 21: <img src="/”image1.jpg"” width=100 name=”slideShow”>      
    325. 42 随机广告图片      
    326. 1: <script language=”JavaScript”>      
    327. 2: var imageList = new Array;      
    328. 3: imageList[0] = “image1.jpg”;      
    329. 4: imageList[1] = “image2.jpg”;      
    330. 5: imageList[2] = “image3.jpg”;      
    331. 6: imageList[3] = “image4.jpg”;      
    332. 7: var urlList = new Array;      
    333. 8: urlList[0] = “http://some.host/”;      
    334. 9: urlList[1] = “http://another.host/”;      
    335. 10: urlList[2] = “http://somewhere.else/”;      
    336. 11: urlList[3] = “http://right.here/”;      
    337. 12: var imageChoice = Math.floor(Math.random() * imageList.length);      
    338. 13: document.write(‘<a href=”’ + urlList[imageChoice] + ‘“><img src=”’ + imageList[imageChoice] + ‘“></a>’);      
    339. 14: </script>      
    340. JavaScript就这么回事4:表单      
    341. 还是先继续写完JS就这么回事系列吧~      
    342. 43 表单构成      
    343. 1: <form method=”post” action=”target.html” name=”thisForm”>      
    344. 2: <input type=”text” name=”myText”>      
    345. 3: <select name=”mySelect”>      
    346. 4: <option value=”1”>First Choice</option>      
    347. 5: <option value=”2”>Second Choice</option>      
    348. 6: </select>      
    349. 7: <br>      
    350. 8: <input type=”submit” value=”Submit Me”>      
    351. 9: </form>      
    352. 44 访问表单中的文本框内容      
    353. 1: <form name=”myForm”>      
    354. 2: <input type=”text” name=”myText”>      
    355. 3: </form>      
    356. 4: <a href='#' onClick='window.alert(document.myForm.myText.value);'>Check Text Field</a>      
    357. 45 动态复制文本框内容      
    358. 1: <form name=”myForm”>      
    359. 2: Enter some Text: <input type=”text” name=”myText”><br>      
    360. 3: Copy Text: <input type=”text” name=”copyText”>      
    361. 4: </form>      
    362. 5: <a href=”#” onClick=”document.myForm.copyText.value =      
    363. 6: document.myForm.myText.value;”>Copy Text Field</a>      
    364. 46 侦测文本框的变化      
    365. 1: <form name=”myForm”>      
    366. 2: Enter some Text: <input type=”text” name=”myText” onChange=”alert(this.value);”>      
    367. 3: </form>      
    368. 47 访问选中的Select      
    369. 1: <form name=”myForm”>      
    370. 2: <select name=”mySelect”>      
    371. 3: <option value=”First Choice”>1</option>      
    372. 4: <option value=”Second Choice”>2</option>      
    373. 5: <option value=”Third Choice”>3</option>      
    374. 6: </select>      
    375. 7: </form>      
    376. 8: <a href='#' onClick='alert(document.myForm.mySelect.value);'>Check Selection List</a>      
    377. 48 动态增加Select项      
    378. 1: <form name=”myForm”>      
    379. 2: <select name=”mySelect”>      
    380. 3: <option value=”First Choice”>1</option>      
    381. 4: <option value=”Second Choice”>2</option>      
    382. 5: </select>      
    383. 6: </form>      
    384. 7: <script language=”JavaScript”>      
    385. 8: document.myForm.mySelect.length++;      
    386. 9: document.myForm.mySelect.options[document.myForm.mySelect.length - 1].text = “3”;      
    387. 10: document.myForm.mySelect.options[document.myForm.mySelect.length - 1].value = “Third Choice”;      
    388. 11: </script>      
    389. 49 验证表单字段      
    390. 1: <script language=”JavaScript”>      
    391. 2: function checkField(field) {      
    392. 3: if (field.value == “”) {      
    393. 4: window.alert(“You must enter a value in the field”);      
    394. 5: field.focus();      
    395. 6: }      
    396. 7: }      
    397. 8: </script>      
    398. 9: <form name=”myForm” action=”target.html”>      
    399. 10: Text Field: <input type=”text” name=”myField”onBlur=”checkField(this)”>      
    400. 11: <br><input type=”submit”>      
    401. 12: </form>      
    402. 50 验证Select项      
    403. 1: function checkList(selection) {      
    404. 2: if (selection.length == 0) {      
    405. 3: window.alert(“You must make a selection from the list.”);      
    406. 4: return false;      
    407. 5: }      
    408. 6: return true;      
    409. 7: }      
    410. 51 动态改变表单的action      
    411. 1: <form name=”myForm” action=”login.html”>      
    412. 2: Username: <input type=”text” name=”username”><br>      
    413. 3: Password: <input type=”password” name=”password”><br>      
    414. 4: <input type=”button” value=”Login” onClick=”this.form.submit();”>      
    415. 5: <input type=”button” value=”Register” onClick=”this.form.action = ‘register.html’; this.form.submit();”>      
    416. 6: <input type=”button” value=”Retrieve Password” onClick=”this.form.action = ‘password.html’; this.form.submit();”>      
    417. 7: </form>      
    418. 52 使用图像按钮      
    419. 1: <form name=”myForm” action=”login.html”>      
    420. 2: Username: <input type=”text” name=”username”><br>      
    421. 3: Password: <input type=”password”name=”password”><br>      
    422. 4: <input type=”image” src="/”login.gif"” value=”Login”>      
    423. 5: </form>      
    424. 6:      
    425. 53 表单数据的加密      
    426. 1: <SCRIPT LANGUAGE='JavaScript'>      
    427. 2: <!–      
    428. 3: function encrypt(item) {      
    429. 4: var newItem = '';      
    430. 5: for (i=0; i < item.length; i++) {      
    431. 6: newItem += item.charCodeAt(i) + '.';      
    432. 7: }      
    433. 8: return newItem;      
    434. 9: }      
    435. 10: function encryptForm(myForm) {      
    436. 11: for (i=0; i < myForm.elements.length; i++) {      
    437. 12: myForm.elements[i].value = encrypt(myForm.elements[i].value);      
    438. 13: }      
    439. 14: }      
    440. 15:      
    441. 16: //–>      
    442. 17: </SCRIPT>      
    443. 18: <form name='myForm' onSubmit='encryptForm(this); window.alert(this.myField.value);'>      
    444. 19: Enter Some Text: <input type=text name=myField><input type=submit>      
    445. 20: </form>      
    446. JavaScript就这么回事5:窗口和框架      
    447. 54 改变浏览器状态栏文字提示      
    448. 1: <script language=”JavaScript”>      
    449. 2: window.status = “A new status message”;      
    450. 3: </script>      
    451. 55 弹出确认提示框      
    452. 1: <script language=”JavaScript”>      
    453. 2: var userChoice = window.confirm(“Click OK or Cancel”);      
    454. 3: if (userChoice) {      
    455. 4: document.write(“You chose OK”);      
    456. 5: } else {      
    457. 6: document.write(“You chose Cancel”);      
    458. 7: }      
    459. 8: </script>      
    460. 56 提示输入      
    461. 1: <script language=”JavaScript”>      
    462. 2: var userName = window.prompt(“Please Enter Your Name”,”Enter Your Name Here”);      
    463. 3: document.write(“Your Name is “ + userName);      
    464. 4: </script>      
    465. 57 打开一个新窗口      
    466. 1: //打开一个名称为myNewWindow的浏览器新窗口      
    467. 2: <script language=”JavaScript”>      
    468. 3: window.open(“http://www.velee.cn”,”myNewWindow”);      
    469. 4: </script>      
    470. 58 设置新窗口的大小      
    471. 1: <script language=”JavaScript”>      
    472. 2: window.open(“http://www.velee.cn”,”myNewWindow”,'height=300,width=300');      
    473. 3: </script>      
    474. 59 设置新窗口的位置      
    475. 1: <script language=”JavaScript”>      
    476. 2: window.open(“http://www.velee.cn”,”myNewWindow”,'height=300,width=300,left=200,screenX=200,top=100,screenY=100');     
    477. 3: </script>      
    478. 60 是否显示工具栏和滚动栏      
    479. 1: <script language=”JavaScript”>      
    480. 2: window.open(“http:      
    481. 61 是否可以缩放新窗口的大小      
    482. 1: <script language=”JavaScript”>      
    483. 2: window.open('http://www.velee.cn' , 'myNewWindow', 'resizable=yes' );</script>      
    484. 62 加载一个新的文档到当前窗口      
    485. 1: <a href='#' onClick='document.location = '125a.html';' >Open New Document</a>      
    486. 63 设置页面的滚动位置      
    487. 1: <script language=”JavaScript”>      
    488. 2: if (document.all) { //如果是IE浏览器则使用scrollTop属性      
    489. 3: document.body.scrollTop = 200;      
    490. 4: } else { //如果是NetScape浏览器则使用pageYOffset属性      
    491. 5: window.pageYOffset = 200;      
    492. 6: }</script>      
    493. 64 在IE中打开全屏窗口      
    494. 1: <a href='#' onClick=”window.open('http://www.juxta.com/','newWindow','fullScreen=yes');”>Open a full-screen window</a>      
    495. 65 新窗口和父窗口的操作      
    496. 1: <script language=”JavaScript”>      
    497. 2: //定义新窗口      
    498. 3: var newWindow = window.open(“128a.html”,”newWindow”);      
    499. 4: newWindow.close(); //在父窗口中关闭打开的新窗口      
    500. 5: </script>      
    501. 6: 在新窗口中关闭父窗口      
    502. 7: window.opener.close()      
    503. 66 往新窗口中写内容      
    504. 1: <script language=”JavaScript”>      
    505. 2: var newWindow = window.open(“”,”newWindow”);      
    506. 3: newWindow.document.open();      
    507. 4: newWindow.document.write(“This is a new window”);      
    508. 5: newWIndow.document.close();      
    509. 6: </script>      
    510. 67 加载页面到框架页面      
    511. 1: <frameset cols=”50%,*”>      
    512. 2: <frame name=”frame1” src="/”135a.html"”>      
    513. 3: <frame name=”frame2” src="/”about:blank"”>      
    514. 4: </frameset>      
    515. 5: 在frame1中加载frame2中的页面      
    516. 6: parent.frame2.document.location = “135b.html”;      
    517. 68 在框架页面之间共享脚本      
    518. 如果在frame1中html文件中有个脚本      
    519. 1: function doAlert() {      
    520. 2: window.alert(“Frame 1 is loaded”);      
    521. 3: }      
    522. 那么在frame2中可以如此调用该方法      
    523. 1: <body onLoad=”parent.frame1.doAlert();”>      
    524. 2: This is frame 2.      
    525. 3: </body>      
    526. 69 数据公用      
    527. 可以在框架页面定义数据项,使得该数据可以被多个框架中的页面公用      
    528. 1: <script language=”JavaScript”>      
    529. 2: var persistentVariable = “This is a persistent value”;      
    530. 3: </script>      
    531. 4: <frameset cols=”50%,*”>      
    532. 5: <frame name=”frame1” src="/”138a.html"”>      
    533. 6: <frame name=”frame2” src="/”138b.html"”>      
    534. 7: </frameset>      
    535. 这样在frame1和frame2中都可以使用变量persistentVariable      
    536. 70 框架代码库      
    537. 根据以上的一些思路,我们可以使用一个隐藏的框架页面来作为整个框架集的代码库      
    538. 1: <frameset cols=”0,50%,*”>      
    539. 2: <frame name=”codeFrame” src="/”140code.html"”>      
    540. 3: <frame name=”frame1” src="/”140a.html"”>      
    541. 4: <frame name=”frame2” src="/”140b.html"”>      
    542. 5: </frameset>      
    543.       
    544. 教程:事半功倍系列之javascript From:向东IT博客       
    545. 本文由经典论坛 邓永炎 整理      
    546. 清华大学出版的《事半功倍系列 javascript》,本人照着书敲出来的,有些翻译了一下.前几年看了一下,最近无事,重新翻了翻,很有帮助.本书应该有光盘的,但学校的书,光盘不知在哪.希望对你学 javascript有帮助      
    547. 第一章javascript简介      
    548. 1.在地址栏输入javascript语句      
    549. Javascript:Document.write("显示文字")      
    550. 2.将javascript嵌入 HTML文档      
    551. <script language=javascript>      
    552. document.bgColor="blue"      
    553. </script>      
    554. 第二章 使用变量和数组      
    555. 1.声明变量      
    556. <script language=javascripe>      
    557. Var answer1,answer2,answer3,answer4;      
    558. answer1=9;      
    559. answer2=2.5      
    560. answer3="Milkey May"      
    561. answer4=true      
    562. </script>      
    563. 2.使用整数      
    564. <script language=javascript>      
    565. var decimalNum,hexadecimalNum,octalNum      
    566. decimalNum=24      
    567. hexadecimalNum=0×24      
    568. octalNum=024      
    569. document.write("显示十进制数:"+ decimalNum+"<br>")      
    570. document.write("显示十六进制数:"+ hexadecimalNum +"<br>")      
    571. document.write("显示八进制数:"+ octalNum +"<br>")      
    572. </script>      
    573. 3.使用浮点数      
    574. <script language=javascript>      
    575. var num1,num2,num3,num4      
    576. num1=1234567890000.0      
    577. num2=5.14e23      
    578. num3=0.0000123456      
    579. num4=6.0254e3-4      
    580. document.write("浮点数1:"+num1+"<br>")      
    581. document.write("浮点数2:"+num2+"<br>")      
    582. document.write("浮点数3:"+num3+"<br>")      
    583. document.write("浮点数4:"+num4+"<br>")      
    584. </script>      
    585. 4.使用布尔值      
    586. <script language=javascript>      
    587. var answer1,answer2      
    588. answer1=true      
    589. answer2=false      
    590. document.write("显示布尔1:"+answer1+"<br>")      
    591. document.write("显示布尔2:"+answer2+"<br>")      
    592. </script>      
    593. 5.使用字符串      
    594. <script language=javascript>      
    595. var str1,str2      
    596. str1="fdsgdg dsfdsf china"      
    597. str2="武汉市广播电视大学"      
    598. document.write("显示字符串1:"+str1+"<br>")      
    599. document.write("显示字符串2:"+str2+"<br>")      
    600. </script>      
    601. 6.确定变量类型      
    602. <script>      
    603. var answer1,answer2,answer3,answer4      
    604. answer1=9      
    605. answer2=2.5      
    606. answer3="milky may"      
    607. answer4=true      
    608. document.write("变量1的类型是:"+typeof answer1 +"<br>")      
    609. document.write("变量2的类型是:"+typeof answer2 +"<br>")      
    610. document.write("变量3的类型是:"+typeof answer3 +"<br>")      
    611. document.write("变量4的类型是:"+typeof answer4 +"<br>")      
    612. </script>      
    613. 7.将字符串转换成数字      
    614. <script>      
    615. var str1="31 days in january"      
    616. var int1=parseInt(str1)      
    617. document.write("str1的数据类型是 :"+typeof str1+"<br>")      
    618. document.write("int1的数据类型是 :"+typeof int1+"<br>")      
    619. </script>      
    620. 8.将数字转换成字符串      
    621. <script>      
    622. var int1=256      
    623. var str1=""+int1      
    624. document.write("str1的数据类型是 :"+typeof str1+"<br>")      
    625. document.write("int1的数据类型是 :"+typeof int1+"<br>")      
    626. </script>      
    627. 9.声明数组      
    628. <script>      
    629. array=new Array(5)      
    630. array[0]=1      
    631. array[1]=3      
    632. array[2]=5      
    633. array[3]=7      
    634. array[4]=11      
    635. document.write("数组是:"+array[0]+" "+array[1]+" "+array[2]+" "+array[3]+" "+array[4])      
    636. </script>      
    637. 10.确定数组元素的个数      
    638. <script>      
    639. array=new Array(5)      
    640. array[0]=1      
    641. array[1]=3      
    642. array[2]=5      
    643. array[3]=7      
    644. array[4]=11      
    645. document.write("数组是:"+array[0]+" "+array[1]+" "+array[2]+" "+array[3]+" "+array[4]+"<br>")      
    646. document.write("数组的元素个数是"+array.length)      
    647. </script>      
    648. 11.将数组转换为字符串      
    649. <script>      
    650. array=new Array()      
    651. array[0]="dark"      
    652. array[1]="apple"      
    653. array[2]="nebula"      
    654. array[3]="water"      
    655. str1=array.join()      
    656. str2=array.join(" ")      
    657. document.write(str1+"<br>")      
    658. document.write(str2)      
    659. </script>      
    660. 12.对数组排序      
    661. <script>      
    662. array=new Array()      
    663. array[0]="dark"      
    664. array[1]="apple"      
    665. array[2]="nebula"      
    666. array[3]="water"      
    667. str1=array.sort()      
    668. document.write(str1+"<br>")      
    669. </script>      
    670. 第三章 创建表达式      
    671. 本文摘自:拾金者(http://www.xkde.com) 详细出处参考:http://www.xkde.com/WapContent-199-9524.aspx?ppp=1    
    672. 1.使用算术运算符      
    673. <script>      
    674. var1=12      
    675. var2=10      
    676. varadd=var1+var2      
    677. varsub=var1-var2      
    678. varmult=var1*var2      
    679. vardiv=var1/var2      
    680. varmod=var1%var2      
    681. document.write("数据1是:"+var1+"<br>")      
    682. document.write("数据2是:"+var2+"<br>")      
    683. document.write("数据相加是:"+varadd+"<br>")      
    684. document.write("数据相减是:"+varsub+"<br>")      
    685. document.write("数据相乘是:"+varmult+"<br>")      
    686. document.write("数据相除是:"+vardiv+"<br>")      
    687. document.write("数据相除取余数是:"+varmod+"<br>")      
    688. </script>      
    689. 2.递增变量和递减变量      
    690. <script>      
    691. days=1      
    692. document.write("输出变量"+days+"<br>")      
    693. days++      
    694. document.write("递增后变量变为:"+days)      
    695. </script>      
    696. 3.创建比较表达式      
    697. <script>      
    698. daysofmonth=28      
    699. if(daysofmonth==28)      
    700. month="february"      
    701. document.write("days of month:"+daysofmonth+"<br>")      
    702. document.write("month:"+month)      
    703. </script>      
    704. 4.创建逻辑表达式      
    705. <script>      
    706. dayofmonth=28      
    707. if(dayofmonth==28 || dayofmonth==29)      
    708. month="february"      
    709. document.write("days of month:"+dayofmonth+"<br>")      
    710. document.write("month:"+month)      
    711. </script>      
    712. 5.使用条件运算符      
    713. <script language="javascript">      
    714. stomach="hungry";      
    715. time="5:00";      
    716. (stomach=="hungry"&&time=="5:00") ? eat = "dinner":eat="a snack";      
    717. document.write("输出结果"+eat);      
    718. </script>      
    719. 6.识别数字      
    720. <script>      
    721. var1=24;      
    722. (isNaN(var1))?document.write("变量var1"+var1+"不是数字"):Document.write("变量var1"+var1+"是数字")      
    723. </script>      
    724. 第四章 控制程序流程      
    725. 1.使用IF –Else语句      
    726. <script>      
    727. month="december"      
    728. date=25      
    729. if(month=="december" && date==25)      
    730. document.write("今天是圣诞节,商店关门")      
    731. else      
    732. document.write("欢迎,您来商店购物")      
    733. </script>      
    734. 2.使用for 循环      
    735. <script>      
    736. for (count=1;count<=10;count++)      
    737. document.write("输出第"+count+"句"+"<br>")      
    738. </script>      
    739. 3.使用while循环      
    740. <script>      
    741. count=1      
    742. while(count<=15){      
    743. document.write("输出第"+count+"句" +"<br>")      
    744. count++}      
    745. </script>      
    746. 4.中断循环      
    747. <script>      
    748. count=1      
    749. while(count<=15){      
    750. count++      
    751. if(count==8)      
    752. break;      
    753. document.write("输出第"+count+"句"+"<br>")}      
    754. </script>      
    755. 5.继续循环      
    756. <script>      
    757. count=1      
    758. while(count<=15){      
    759. count++      
    760. if(count==8)      
    761. continue;      
    762. document.write("输出第"+count+"句"+"<br>")}      
    763. </script>      
    764. 6.使用javascript定时器      
    765. <script>      
    766. function rabbit()      
    767. {document.write("输出语句")      
    768. }      
    769. </script>      
    770. <body onload=window.setTimeout(rabbit(),5000)>      
    771. 7.设置定期间隔      
    772. <script>      
    773. window.setInterval("document.form1.text2.value=document.form1.text1.value",3000)      
    774. </script>      
    775. <form name=form1>      
    776. <input type=text name=text1><br>      
    777. <input type=text name=text2><br>      
    778. </form>      
    779. 8.清除超时和间隔      
    780. <script>      
    781. stop=window.setInterval("document.form1.text2.value=document.form1.text1.value",300)      
    782. </script>      
    783. <form name=form1>      
    784. <input type=text name=text1><br>      
    785. <input type=text name=text2><br>      
    786. <input type=button name=button1 value=" 清除超时和间隔" onclick=clearInterval(stop)>      
    787. </form>      
    788. 第五章 使用函数      
    789. 1.声明函数      
    790. <script>      
    791. function quote()      
    792. { document.write("输出语句")      
    793. }      
    794. </script>      
    795. 2.调用函数      
    796. <script>      
    797. function quote()      
    798. { document.write("输出语句")      
    799. }      
    800. quote()      
    801. </script>      
    802. 3.了解全局变量和局部变量      
    803. 任何不用 var关键字声明的变量都是全局变量,任何在函数外声明的变量都是全局变量      
    804. 4.将参数传送给函数      
    805. <script>      
    806. function f(item)      
    807. {document.write("输出参数"+item+"<br>")      
    808. }      
    809. f("fgdfgd")      
    810. f("参数二")      
    811. </script>      
    812. 5.从函数返回值      
    813. <script>      
    814. function average(var1,var2,var3)      
    815. {ave=(var1+var2+var3)/3;      
    816. document.write("输出结果");      
    817. return ave;      
    818. }      
    819. document.write(average(34,56,78))      
    820. </script>      
    821. 6.通过HTML链接调用函数      
    822. <script>      
    823. function quote(){      
    824. document.write(" 输出字符串")      
    825. }      
    826. </script>      
    827. <a href=javascript:quote()>通过HTML链接调用函数</a>      
    828. <a href=javascript:Document.write("输出字符")> 通过HTML链接调用函数,直接写javascript语句</a>      
    829. 第六章 处理事件      
    830. 1.检查鼠标单击      
    831. <form name=form1>      
    832. <input type=button name=button1 value=hello onclick=document.form1.button1.value='there'>      
    833. </form>      
    834. 2.检测双击      
    835. <form name=form1>      
    836. <input type=button name=button1 value=hello onclick=document.form1.button1.value='你单击了按钮' ondblclick=document.form1.button1.value='你双击了该按钮'>      
    837. </form>      
    838. 3.创建悬停按钮      
    839. <img src=go.gif onmouseover=document.images[0].src='go2.gif' onmouseout= document.images[0].src='go.gif'>      
    840. 4.检测按键      
    841. <form name=form1>      
    842. <input type=text name=text1 value=hello onkeypress="if(window.event.keyCode=='100') document.form1.text1.value='你按了d键'">      
    843. </form>      
    844. 5.设置焦点      
    845. <form name=form1>      
    846. <input type=text name=text1 value=hello      
    847. onfous=document.form1.text1.value='该文本框获得焦点'      
    848. onblur=document.form1.text1.value='该文本框失去焦点'>      
    849. </form>      
    850. 6.检测下拉菜单选择      
    851. <form name=form1>      
    852. <select name=select1 size=4      
    853. onChange=document.form1.text1.value=document.form1.select1.value>      
    854. <option value="北京">北京</option>      
    855. <option value="上海">上海</option>      
    856. <option value="武汉">武汉</option>      
    857. <option value="天津">天津</option>      
    858. <option value="大连">大连</option>      
    859. </select>      
    860. <input tppe=text name=text1 value=hello>      
    861. </form>      
    862. 7.创建网页加载和卸载信息      
    863. <body onload=document.form1.text1.value='页面加载完毕' onunload=alert('再见,欢迎再来')>      
    864. <form name=form1>      
    865. <input type=text name=text1 value="页面正在加载 ……">      
    866. </form>      
    867. 第七章 使用对象      
    868. 1.理解对象属性和方法      
    869. <body bgcolor="green">      
    870. <script>      
    871. document.write("页面背景颜色是:"+document.bgColor)      
    872. document.write("页面前景颜色是:"+document.fgColor)      
    873. </script>      
    874. 2.使用网页元素对象      
    875. <script>      
    876. </script>      
    877. <form name=form1>      
    878. <textarea name=ta1>dfgfdgfdhfdhdfdfgdf</textarea>      
    879. <input type=button value="选择文本" onclick=document.form1.ta1.select()>      
    880. <input type=button value="显示文本" onclick=document.write(document.form1.ta1.value)>      
    881. </form>      
    882. 3.使用子对象      
    883. <form name=form1>      
    884. <input type=text name=text1 value=hello>      
    885. </form>      
    886. <script>      
    887. document.form1.text1.value="gdfgfd"      
    888. </script>      
    889. <form name=form1>      
    890. <input type=radio name=radio1>男      
    891. <input type=radio name=radio2>女      
    892. </script>      
    893. <script>      
    894. document.form1.radio1.checked=true      
    895. </script>      
    896. 4.使用预定义对象      
    897. <script>      
    898. str1="dgdfgdfgdfhf固定法固定法功夫攻打法"      
    899. document.write(str1+"<br>")      
    900. str2=str1.substr(5)      
    901. document.write(str2+"<br>")      
    902. document.write("输出圆的面积:"+Math.PI*Math.pow(5.0,2))      
    903. </script>      
    904. 5.创建新对象      
    905. <script>      
    906. today=new Date()      
    907. document.write("今天是"+(today.getMonth()+1)+"月"+today.getDate()+"日"+"<br>")      
    908. document.write("现在是:"+today.toLocaleString())      
    909. </script>      
    910. 6.引用当前对象      
    911. <form name=form1>      
    912. <input type=text name=text1 value="dgdgdfgfd" onclick=this.select()>      
    913. </script>      
    914. 7.查看对象属性      
    915. <script>      
    916. for(prop in window)      
    917. {document.write("window."+prop+"="+window[prop]+"<br>");}      
    918. for(prop2 in location)      
    919. {document.write("location."+prop2+"="+location[prop]+"<br>");}      
    920. </script>      
    921. 8.使用Array对象      
    922. <script>      
    923. array=new Array(10)      
    924. array[0]="bark"      
    925. array[1]="apple"      
    926. array[2]="nebula"      
    927. array[3]="cookie"      
    928. array[4]="technology"      
    929. document.write("数组元素个数是"+array.Length+"<br>")      
    930. document.write("用 join将数组合并"+array.join(" ")+"<br>")      
    931. document.write(" 数组排序"+array.sort())      
    932. </script>      
    933. 9.使用 image 对象      
    934. <img src=**.gif alt="图片提示…." border=10>      
    935. <script>      
    936. document.write("图片提示是:"+document.images[0].alt+"<br>")      
    937. document.write("图片边框大小是:"+document.images[0].broder)      
    938. </script>      
    939. 10.预加载图像      
    940. <script>      
    941. freddy=new Image()      
    942. freddy.src=freddy.gif      
    943. </script>      
    944. <body onload=document.images[0].src=freddy.src>      
    945. ,<img src="blank.gif">      
    946. </body>      
    947. 11.改变图像      
    948. <img src=freddy.gif><br>      
    949. <form name=form1>      
    950. <input type=button name=button1 value="改变图像" onclickd=document.images[0].src=dudjp.gif>      
    951. </form>      
    952. 12.使用link和anchor对象      
    953. <a name=anchor1>锚点1<br>      
    954. <a href=http://www.microsoft.com>Microsoft</a><br>      
    955. <a href=http://www.sohu.com>sohu</a><br>      
    956. <a href=http://www.sina.com.cn>sina</a><br>      
    957. <script>      
    958. document.write("本页面共有"+document.links.length+"链接"+"<br>")      
    959. document.write("本页面共有"+document.anchors.length+"锚点"+"<br>")      
    960. document.write("第一个链接协议是"+document.links[0].protocol+"<br>")      
    961. document.write("第一个链接路径是"+document.links[0].pathnamel+"<br>")      
    962. document.write("第一个链接href是"+document.links[0].hrefl+"<br>")      
    963. </script>      
    964. 13.改变链接      
    965. <a href =http://www.microsoft.com>link</a>      
    966. <form name=form1>      
    967. <input type=button name=button1 value="改变链接" onclick=document.links[0].href='http://www.sohu.com'>      
    968. </form>      
    969. 14.使用history对象      
    970. <form name=form1>      
    971. <input type=button name=button1 value="向后返回2页" onclick=window.history.go(-2)>      
    972. </form>      
    973. 第八章 使用窗口      
    974. 1.在浏览器的状态栏上显示文本      
    975. <body onload=window.status="欢迎光临我的站点">      
    976. <a href=http://www.sohu.com>sohu</a>      
    977. </body>      
    978. 2.改变背景色      
    979. <script>      
    980. document.bgColor="orange"      
    981. </script>      
    982. 3.列举背景颜色      
    983. <body bgColor =green>      
    984. <script>      
    985. document.write("当前背景色是:"+document.bgColor)      
    986. </script>      
    987. </body>      
    988. 4.改变文本和链接颜色      
    989. <script>      
    990. document.bgColor="orange"      
    991. document.fgColor="blue"      
    992. document.linkColor="red"      
    993. </script>      
    994. <h2>看看这段文本颜色</h2>      
    995. <a href=http://www.sohu.com>sohu</a>      
    996. </body>      
    997. 5.改变文档标题      
    998. <script>      
    999. name="Mouse"      
    1000. document.title="welcome to "+name+"'s House"      
    1001. document.write(document.title)      
    1002. </script>      
    1003. 6.显示修改日期      
    1004. <script>      
    1005. document.write("本页面最后修改时间是"+document.lastModified)      
    1006. </script>      
    1007. 7.查看当前文档的URL      
    1008. <script>      
    1009. document.write("本页面的URL:"+document.URL)      
    1010. </script>      
    1011. 8.查看引用页      
    1012. <script>      
    1013. document.write("本页面的引用页是"+document.referrer)      
    1014. </script>      
    1015. 9.打开新的浏览器窗口      
    1016. <script>      
    1017. window.open("*.htm","title","width=200,height=400,resizable=yes")      
    1018. </script>      
    1019. 10.关闭远程窗口      
    1020. close.html:      
    1021. <script>      
    1022. document.write("正文")      
    1023. </script>      
    1024. <form name=form1>      
    1025. <input type=button name=button1va, , , lue="关闭" onclick=window.close()>      
    1026. </form>      
    1027. open.html      
    1028. <script>      
    1029. window.open("close.html","romote","width=200,height=400,resizable=yes")      
    1030. </script>      
    1031. 11.打印窗口      
    1032. <script>      
    1033. document.write("正文")      
    1034. </script>      
    1035. <form name=form1>      
    1036. <input type=button value=打印 onclick=window.print()>      
    1037. </form>      
    1038. 12.移动窗口      
    1039. <form name=form1>      
    1040. 水平方向<input type=text name=x value=20>      
    1041. 垂直方向<input type=text name=y value=50>      
    1042. <input type=button value="移动窗口到…"onclick=window.moveTo(document.form1.x.value,document.form1.y.value)>      
    1043. </form>      
    1044. <form name=form1>      
    1045. 水平方向<input type=text name=x value=20>      
    1046. 垂直方向<input type=text name=y value=50>      
    1047. <input type=button value="移动窗口"onclick=window.moveBy(document.form1.x.value,document.form1.y.value)>      
    1048. </form>      
    1049. 13.改变窗口大小      
    1050. <form name=form1>      
    1051. 水平方向<input type=text name=x value=200>      
    1052. 垂直方向<input type=text name=y value=500>      
    1053. <input type=button value="改变窗口大小到….."onclick=window.resizeTo(document.form1.x.value,document.form1.y.value)>      
    1054. </form>      
    1055. <form name=form1>      
    1056. 水平方向<input type=text name=x value=200>      
    1057. 垂直方向<input type=text name=y value=500>      
    1058. <input type=button value="改变窗口大小"onclick=window.resizeBy(document.form1.x.value,document.form1.y.value)>      
    1059. </form>      
    1060. 14.用警告对话框通知用户      
    1061. <script>      
    1062. window.alert("welcome")      
    1063. </script>      
    1064. 15.用提示对话框接受输入      
    1065. <script>      
    1066. name=window.prompt("输入姓名","姓名")      
    1067. document.write(" 欢迎您:"+name+"来到这里")      
    1068. </script>      
    1069. 16.用确认对话框使用户做出决定      
    1070. <script>      
    1071. like=window.confirm("你觉得好吗?")      
    1072. if(like==true)      
    1073. document.write("谢谢你的夸奖")      
    1074. else      
    1075. document.write("希望得到你的夸奖")      
    1076. </script>      
    1077. 第九章 使用字符串      
    1078. 1.使用字符串对象      
    1079. <script>      
    1080. mystring="gdgdfgfddddaaaaaaaaaaaabbbbbbbbbbbbbbbbbvbhg.<br>"      
    1081. document.write(mystring)      
    1082. document.write(mystring.bold())      
    1083. document.write(mystring.toUpperCase())      
    1084. </script>      
    1085. 2.使用子字符串      
    1086. <script>      
    1087. str1="fdsf 1111 gfdgfd dfdsf cccc dddd.<br>"      
    1088. document.write(str1)      
    1089. document.write(str1.substring(0,13)+"<br>")      
    1090. document.write(str1.substr (20,11)+"<br>")      
    1091. </script>      
    1092. 3.连接字符串      
    1093. <script>      
    1094. str1="may you find"      
    1095. str2="peace,happiness and prosperity.<br>"      
    1096. document.write(str1+"<br>")      
    1097. document.write(str2)      
    1098. document.write(str1.concat(str2))      
    1099. document.write(str1+=str2)      
    1100. </script>  

    转到此处仅作备忘,可以速查

  • 相关阅读:
    Linux基础命令---chfn
    第二十一课:js属性操作的兼容性问题
    jquery源码解析:jQuery工具方法Callbacks详解
    第二十课:js中如何操作元素的属性系统
    第十七课:js数据缓存系统的原理
    jquery源码解析:proxy,access,swap,isArraylike详解
    第十九课:盒子模型
    jquery源码解析:each,makeArray,merge,grep,map详解
    第十八课:js样式操作需要注意的问题
    下拉框插件的详解
  • 原文地址:https://www.cnblogs.com/aiqingqing/p/4526275.html
Copyright © 2011-2022 走看看