天天看點

js 方法大集合

http://hi.baidu.com/lin_zy/blog/item/7a20a3cb898551fe53664f38.html

15. 判斷上一頁的來源

javascript :

document.referrer

16. 最小化、最大化、關閉視窗

<object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">

<param name="Command" value="Minimize"></object>

<object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">

<param name="Command" value="Maximize"></object>

<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">

<PARAM NAME="Command" VALUE="Close"></OBJECT>

<input type=button value=最小化 οnclick=hh1.Click()>

<input type=button value=最大化 οnclick=hh2.Click()>

<input type=button value=關閉 οnclick=hh3.Click()>

本例适用于IE

17.屏蔽功能鍵Shift,Alt,Ctrl

<script>

function look(){

if(event.shiftKey)

alert("禁止按Shift鍵!"); //可以換成ALT CTRL

}

document.οnkeydοwn=look;

</script>

18. 網頁不會被緩存

<META HTTP-EQUIV="pragma" CONTENT="no-cache">

<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">

<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">

或者<META HTTP-EQUIV="expires" CONTENT="0">

19.怎樣讓表單沒有凹凸感?

<input type=text style="border:1 solid #000000">

<input type=text style="border-left:none; border-right:none; border-top:none; border-bottom:

1 solid #000000"></textarea>

20.<div><span>&<layer>的差別?

<div>(division)用來定義大段的頁面元素,會産生轉行

<span>用來定義同一行内的元素,跟<div>的唯一差別是不産生轉行

<layer>是ns的标記,ie不支援,相當于<div>

21.讓彈出視窗總是在最上面:

<body οnblur="this.focus();">

22.不要滾動條?

讓豎條沒有:

<body style="overflow:scroll;overflow-y:hidden">

</body>

讓橫條沒有:

<body style="overflow:scroll;overflow-x:hidden">

</body>

兩個都去掉?更簡單了

<body scroll="no">

</body>

23.怎樣去掉圖檔連結點選後,圖檔周圍的虛線?

<a href="#" target="_blank" rel="external nofollow" onFocus="this.blur()"><img src="logo.jpg" border=0></a>

24.電子郵件處理送出表單

<form name="form1" method="post" action="mailto:****@***.com" enctype="text/plain">

<input type=submit>

</form>

25.在打開的子視窗重新整理父視窗的代碼裡如何寫?

window.opener.location.reload()

26.如何設定打開頁面的大小

<body οnlοad="top.resizeTo(300,200);">

打開頁面的位置<body οnlοad="top.moveBy(300,200);">

27.在頁面中如何加入不是滿鋪的背景圖檔,拉動頁面時背景圖不動

<STYLE>

body

{background-image:url(logo.gif); background-repeat:no-repeat;

background-position:center;background-attachment: fixed}

</STYLE>

28. 檢查一段字元串是否全由數字組成

<script language="Javascript"><!--

function checkNum(str){return str.match(//D/)==null}

alert(checkNum("1232142141"))

alert(checkNum("123214214a1"))

// --></script>

29. 獲得一個視窗的大小

document.body.clientWidth; document.body.clientHeight

30. 怎麼判斷是否是字元

if (/[^/x00-/xff]/g.test(s)) alert("含有漢字");

else alert("全是字元");

31.TEXTAREA自适應文字行數的多少

<textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight">

</textarea>

32. 日期減去天數等于第二個日期

<script language=Javascript>

function cc(dd,dadd)

{

//可以加上錯誤處理

var a = new Date(dd)

a = a.valueOf()

a = a - dadd * 24 * 60 * 60 * 1000

a = new Date(a)

alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")

}

cc("12/23/2002",2)

</script>

33. 選擇了哪一個Radio

<HTML><script language="vbscript">

function checkme()

for each ob in radio1

if ob.checked then window.alert ob.value

next

end function

</script><BODY>

<INPUT name="radio1" type="radio" value="style" checked>Style

<INPUT name="radio1" type="radio" value="barcode">Barcode

<INPUT type="button" value="check" οnclick="checkme()">

</BODY></HTML>

34.腳本永不出錯

<SCRIPT LANGUAGE="JavaScript">

<!-- Hide

function killErrors() {

return true;

}

window.onerror = killErrors;

// -->

</SCRIPT>

35.ENTER鍵可以讓光标移到下一個輸入框

<input οnkeydοwn="if(event.keyCode==13)event.keyCode=9">

36. 檢測某個網站的連結速度:

把如下代碼加入<body>區域中:

<script language=Javascript>

tim=1

setInterval("tim++",100)

b=1

var autourl=new Array()

autourl[1]="www.njcatv.net"

autourl[2]="javacool.3322.net"

autourl[3]="www.sina.com.cn"

autourl[4]="www.nuaa.edu.cn"

autourl[5]="www.cctv.com"

function butt(){

document.write("<form name=autof>")

for(var i=1;i<autourl.length;i++)

document.write("<input type=text name=txt"+i+" size=10 value=測試中……> =》<input type=text

name=url"+i+" size=40> =》<input type=button value=GO

οnclick=window.open(this.form.url"+i+".value)><br>")

document.write("<input type=submit value=重新整理></form>")

}

butt()

function auto(url){

document.forms[0]["url"+b].value=url

if(tim>200)

{document.forms[0]["txt"+b].value="連結逾時"}

else

{document.forms[0]["txt"+b].value="時間"+tim/10+"秒"}

b++

}

function run(){for(var i=1;i<autourl.length;i++)document.write("<img src=http://"+autourl+"/"+Math.random()+"

width=1 height=1

οnerrοr=auto("http://"+autourl+"")>")}

run()</script>

37. 各種樣式的光标

auto :标準光标

default :标準箭頭

hand :手形光标

wait :等待光标

text :I形光标

vertical-text :水準I形光标

no-drop :不可拖動光标

not-allowed :無效光标

help :?幫助光标

all-scroll :三角方向标

move :移動标

crosshair :十字标

e-resize

n-resize

nw-resize

w-resize

s-resize

se-resize

sw-resize

38.頁面進入和退出的特效

進入頁面<meta http-equiv="Page-Enter" content="revealTrans(duration=x, transition=y)">

推出頁面<meta http-equiv="Page-Exit" content="revealTrans(duration=x, transition=y)">

這個是頁面被載入和調出時的一些特效。duration表示特效的持續時間,以秒為機關。transition表示使用哪種特效,取值為

1-23:

  0 矩形縮小

  1 矩形擴大

  2 圓形縮小

  3 圓形擴大

  4 下到上重新整理

  5 上到下重新整理

  6 左到右重新整理

  7 右到左重新整理

  8 豎百葉窗

  9 橫百葉窗

  10 錯位橫百葉窗

  11 錯位豎百葉窗

  12 點擴散

  13 左右到中間重新整理

  14 中間到左右重新整理

  15 中間到上下

  16 上下到中間

  17 右下到左上

  18 右上到左下

  19 左上到右下

  20 左下到右上

  21 橫條

  22 豎條

  23 以上22種随機選擇一種

39.在規定時間内跳轉

<META http-equiv=V="REFRESH" content="5;URL=http://www.51js.com">

40.網頁是否被檢索

<meta name="ROBOTS" content="屬性值">

  其中屬性值有以下一些:

  屬性值為"all": 檔案将被檢索,且頁上連結可被查詢;

  屬性值為"none": 檔案不被檢索,而且不查詢頁上的連結;

  屬性值為"index": 檔案将被檢索;

  屬性值為"follow": 查詢頁上的連結;

  屬性值為"noindex": 檔案不檢索,但可被查詢連結;

  屬性值為"nofollow": 檔案不被檢索,但可查詢頁上的連結。

>>>---------我想分頁!--這麼長的文章,在這裡來個分頁多好啊!哈哈----------<<<

js寶典學習筆記ZT

每一項都是js中的小技巧,但十分的實用! 

1.document.write(""); 輸出語句

2.JS中的注釋為//

3.傳統的HTML文檔順序是:document->html->(head,body)

4.一個浏覽器視窗中的DOM順序是:window->(navigator,screen,history,location,document)

5.得到表單中元素的名稱和值:document.getElementById("表單中元素的ID号").name(或value)

6.一個小寫轉大寫的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase();

7.JS中的值類型:String,Number,Boolean,Null,Object,Function

8.JS中的字元型轉換成數值型:parseInt(),parseFloat()

9.JS中的數字轉換成字元型:(""+變量)

10.JS中的取字元串長度是:(length)

11.JS中的字元與字元相連接配接使用+号.

12.JS中的比較操作符有:==等于,!=不等于,>,>=,<.<=

13.JS中聲明變量使用:var來進行聲明

14.JS中的判斷語句結構:if(condition){}else{}

15.JS中的循環結構:for([initial expression];[condition];[upadte expression]) {inside loop}

16.循環中止的指令是:break

17.JS中的函數定義:function functionName([parameter],...){statement[s]}

18.當檔案中出現多個form表單時.可以用document.forms[0],document.forms[1]來代替.

19.視窗:打開視窗window.open(), 關閉一個視窗:window.close(), 視窗本身:self

20.狀态欄的設定:window.status="字元";

21.彈出提示資訊:window.alert("字元");

22.彈出确認框:window.confirm();

23.彈出輸入提示框:window.prompt();

24.指定目前顯示連結的位置:window.location.href="URL" target="_blank" rel="external nofollow"

25.取出窗體中的所有表單的數量:document.forms.length

26.關閉文檔的輸出流:document.close();

27.字元串追加連接配接符:+=

28.建立一個文檔元素:document.createElement(),document.createTextNode()

29.得到元素的方法:document.getElementById()

30.設定表單中所有文本型的成員的值為空:

var form = window.document.forms[0]

for (var i = 0; i<form.elements.length;i++){

if (form.elements[i].type == "text"){

form.elements[i].value = "";

}

}

31.複選按鈕在JS中判斷是否選中:document.forms[0].checkThis.checked (checked屬性代表為是否選中傳回TRUE或FALSE)

32.單選按鈕組(單選按鈕的名稱必須相同):取單選按鈕組的長度document.forms[0].groupName.length

33.單選按鈕組判斷是否被選中也是用checked.

34.下拉清單框的值:document.forms[0].selectName.options[n].value (n有時用下拉清單框名稱加上.selectedIndex來确定被選中的值)

35.字元串的定義:var myString = new String("This is lightsword");

36.字元串轉成大寫:string.toUpperCase(); 字元串轉成小寫:string.toLowerCase();

37.傳回字元串2在字元串1中出現的位置:String1.indexOf("String2")!=-1則說明沒找到.

38.取字元串中指定位置的一個字元:StringA.charAt(9);

39.取出字元串中指定起點和終點的子字元串:stringA.substring(2,6);

40.數學函數:Math.PI(傳回圓周率),Math.SQRT2(傳回開方),Math.max(value1,value2)傳回兩個數中的最在值,Math.pow(value1,10)傳回value1的十次方,Math.round(value1)四舍五入函數,Math.floor(Math.random()*(n+1))傳回随機數

41.定義日期型變量:var today = new Date();

42.日期函數清單:dateObj.getTime()得到時間,dateObj.getYear()得到年份,dateObj.getFullYear()得到四位的年份,dateObj.getMonth()得到月份,dateObj.getDate()得到日,dateObj.getDay()得到日期幾,dateObj.getHours()得到小時,dateObj.getMinutes()得到分,dateObj.getSeconds()得到秒,dateObj.setTime(value)設定時間,dateObj.setYear(val)設定年,dateObj.setMonth(val)設定月,dateObj.setDate(val)設定日,dateObj.setDay(val)設定星期幾,dateObj.setHours設定小時,dateObj.setMinutes(val)設定分,dateObj.setSeconds(val)設定秒 [注意:此日期時間從0開始計]

43.FRAME的表示方式: [window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarName,frameName.ObjFuncVarName

44.parent代表父親對象,top代表最頂端對象

45.打開子視窗的父視窗為:opener

46.表示目前所屬的位置:this

47.當在超連結中調用JS函數時用:(javascript :)來開頭後面加函數名

48.在老的浏覽器中不執行此JS:<!-- //-->

49.引用一個檔案式的JS:<script type="text/javascript" src="aaa.js"></script>

50.指定在不支援腳本的浏覽器顯示的HTML:<noscript></noscript>

51.當超鍊和ONCLICK事件都有時,則老版本的浏覽器轉向a.html,否則轉向b.html.例:<a href="a.html" target="_blank" rel="external nofollow" οnclick="location.href='b.html';return false">dfsadf</a>

52.JS的内建對象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError

53.JS中的換行:\n

54.視窗全屏大小:<script>function fullScreen(){ this.moveTo(0,0);this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;</script>

55.JS中的all代表其下層的全部元素

56.JS中的焦點順序:document.getElementByid("表單元素").tabIndex = 1

57.innerHTML的值是表單元素的值:如<p id="para">"how are <em>you</em>"</p>,則innerHTML的值就是:how are <em>you</em>

58.innerTEXT的值和上面的一樣,隻不過不會把<em>這種标記顯示出來.

59.contentEditable可設定元素是否可被修改,isContentEditable傳回是否可修改的狀态.

60.isDisabled判斷是否為禁止狀态.disabled設定禁止狀态

61.length取得長度,傳回整型數值

62.addBehavior()是一種JS調用的外部函數檔案其擴充名為.htc

63.window.focus()使目前的視窗在所有視窗之前.

64.blur()指失去焦點.與FOCUS()相反.

65.select()指元素為選中狀态.

66.防止使用者對文本框中輸入文本:οnfοcus="this.blur()"

67.取出該元素在頁面中出現的數量:document.all.tags("div(或其它HTML标記符)").length

68.JS中分為兩種窗體輸出:模态和非模态.window.showModaldialog(),window.showModeless()

69.狀态欄文字的設定:window.status='文字',預設的狀态欄文字設定:window.defaultStatus = '文字.';

70.添加到收藏夾:external.AddFavorite("http://www.dannyg.com","jaskdlf");

71.JS中遇到腳本錯誤時不做任何操作:window.onerror = doNothing; 指定錯誤句柄的文法為:window.onerror = handleError;

72.JS中指定目前打開視窗的父視窗:window.opener,支援opener.opener...的多重繼續.

73.JS中的self指的是目前的視窗

74.JS中狀态欄顯示内容:window.status="内容"

75.JS中的top指的是架構集中最頂層的架構

76.JS中關閉目前的視窗:window.close();

77.JS中提出是否确認的框:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");}

78.JS中的視窗重定向:window.navigate("http://www.sina.com.cn");

79.JS中的列印:window.print()

80.JS中的提示輸入框:window.prompt("message","defaultReply");

81.JS中的視窗滾動條:window.scroll(x,y)

82.JS中的視窗滾動到位置:window.scrollby

83.JS中設定時間間隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeout

84.JS中的模态顯示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]);

85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue="we really like you and hope you will stay longer.";}} window.οnbefοreunlοad=verifyClose;

86.當窗體第一次調用時使用的檔案句柄:onload()

87.當窗體關閉時調用的檔案句柄:onunload()

88.window.location的屬性: protocol(http:),hostname(www.example.com),port(80),host(www.example.com:80),pathname("/a/a.html"),hash("#giantGizmo",指跳轉到相應的錨記),href(全部的資訊)

89.window.location.reload()重新整理目前頁面.

90.window.history.back()傳回上一頁,window.history.forward()傳回下一頁,window.history.go(傳回第幾頁,也可以使用通路過的URL)

91.document.write()不換行的輸出,document.writeln()換行輸出

92.document.body.noWrap=true;防止連結文字折行.

93.變量名.charAt(第幾位),取該變量的第幾位的字元.

94."abc".charCodeAt(第幾個),傳回第幾個字元的ASCii碼值.

95.字元串連接配接:string.concat(string2),或用+=進行連接配接

96.變量.indexOf("字元",起始位置),傳回第一個出現的位置(從0開始計算)

97.string.lastIndexOf(searchString[,startIndex])最後一次出現的位置.

98.string.match(regExpression),判斷字元是否比對.

99.string.replace(regExpression,replaceString)替換現有字元串.

100.string.split(分隔符)傳回一個數組存儲值.

101.string.substr(start[,length])取從第幾位到指定長度的字元串.

102.string.toLowerCase()使字元串全部變為小寫.

103.string.toUpperCase()使全部字元變為大寫.

104.parseInt(string[,radix(代表進制)])強制轉換成整型.

105.parseFloat(string[,radix])強制轉換成浮點型.

106.isNaN(變量):測試是否為數值型.

107.定義常量的關鍵字:const,定義變量的關鍵字:var 

>>>---------我想分頁!--這麼長的文章,在這裡來個分頁多好啊!哈哈----------<<<

程式代碼//去左空格;

function ltrim(s){

return s.replace( /^\s*/, "");

}

程式代碼//去右空格;

function rtrim(s){

return s.replace( /\s*$/, "");

}

程式代碼//左右空格;

function trim(s){

return rtrim(ltrim(s));

}

程式代碼//替換

function replace(s, t, u) {

i = s.indexOf(t);

r = "";

if (i == -1) return s;

r += s.substring(0,i) + u;

if ( i + t.length < s.length)

r += replace(s.substring(i + t.length, s.length), t, u);

return r;

}

程式代碼//檢查非法字元

//str 要檢查的字元

//badwords 非法字元 &|<>=

function checkbadwords(str, badwords) {

if (typeof (str) != "string" || typeof (badwords) != "string") {

return (false);

}

for (i=0; i<badwords.length; i++) {

bad = badwords.charAt(i);

for (j=0; j<str.length; j++) {

if (bad == str.charAt(j)) {

return false;

break;

}

}

}

return true;

}

程式代碼//檢查合法字元,限制隻能輸入的字元

//str 要檢查的字元

//goodwords 合法字元 1234567890abcdefghijklmnopqrstuvwxyz

function checkgoodwords(str, goodwords) {

if (typeof (str) != "string" || typeof (goodwords) != "string") {

return (false);

}

for (i=0; i<str.length; i++) {

this_str = str.charAt(i);

for (j=0; j<goodwords.length; j++) {

if (this_str == goodwords.charAt(j)) {

break;

}

if(j==goodwords.length-1){

return false;

}

}

}

return true;

}

程式代碼//函 數 名:chkinteger

//功能介紹:檢查是否為數字

//參數說明:要檢查的字元串

//返 回 值:false:不是 true:是

function chkinteger(checkStr) {

var checkOK = "0123456789+-";

var allValid = true;

for (i=0; i<checkStr.length; i++) {

ch = checkStr.charAt(i);

if (checkOK.indexOf(ch) == -1) {

allValid = false;

break;

}

if ((ch == '+' || ch == '-') && i>0) {

allValid = false;

break;

}

}

return (allValid);

}

程式代碼//函 數 名:chklength

//功能介紹:檢查字元串的長度

//參數說明:要檢查的字元串

//返 回 值:位元組長度值

function chklength(checkStr) {

var n = 0;

for (i=0; i<checkStr.length; i++) {

chcode = checkStr.charCodeAt(i);

if (chcode>=0 && chcode<=255) {

n++;

} else {

n += 2;

}

}

return (n);

}

程式代碼//複選框全選和不全選

//使用方法:

//<input name="chkAll" type="checkbox" id="chkAll" οnclick=CheckAll(this.form) value="checkbox">

function unselectall()

{

if(document.myform.chkAll.checked){

document.myform.chkAll.checked = document.myform.chkAll.checked&0;

}

function CheckAll(form)

{

for (var i=0;i<form.elements.length;i++)

{

var e = form.elements[i];

if (e.Name != "chkAll"&&e.disabled==false)

e.checked = form.chkAll.checked;

}

}

程式代碼//check date

//return: 1,days 2,false

//2005-12-19 2005-12-29

function checkdate(start_date,end_date){

//alert("start_date:["+start_date+"] end_date:["+end_date+"]");

//isnull

if(start_date=="" || end_date==""){

//alert("false");

return false;

}

var strSeparator = "-"; //split symbol

//is-

if(start_date.charAt(4)!=strSeparator && start_date.charAt(7)!=strSeparator && end_date.charAt(4)!=strSeparator && end_date.charAt(7)!=strSeparator){

//alert(start_date.charAt(7));

return false;

}

var strDateArrayStart;

var strDateArrayEnd;

strDateArrayStart = start_date.split(strSeparator);

strDateArrayEnd = end_date.split(strSeparator);

var strDateS = new Date(strDateArrayStart[0] + "/" + strDateArrayStart[1] + "/" + strDateArrayStart[2]);

var strDateE = new Date(strDateArrayEnd[0] + "/" + strDateArrayEnd[1] + "/" + strDateArrayEnd[2]);

//check date

var intDay;

intDay = (strDateE-strDateS)/(1000*3600*24);

//alert(intDay);

return intDay;

}

程式代碼//checkdate_month

//return: 1,true 2,false

//2005-12-19 2005-12-29

//month: number

function checkdate_month(start_date,end_date,month){

//alert("start_date:["+start_date+"] end_date:["+end_date+"]");

//isnull

if(start_date=="" || end_date=="" || month==""){

//alert("false");

return false;

}

var strSeparator = "-"; //split symbol

//is-

if(start_date.charAt(4)!=strSeparator && start_date.charAt(7)!=strSeparator && end_date.charAt(4)!=strSeparator && end_date.charAt(7)!=strSeparator){

//alert(start_date.charAt(7));

return false;

}

var strDateArrayStart;

var strDateArrayEnd;

strDateArrayStart = start_date.split(strSeparator);

strDateArrayEnd = end_date.split(strSeparator);

var strDateS = new Date(strDateArrayStart[0] + "/" + strDateArrayStart[1] + "/" + strDateArrayStart[2]);

var strDateE = new Date(strDateArrayEnd[0] + "/" + strDateArrayEnd[1] + "/" + strDateArrayEnd[2]);

//check date

var intDay;

intDay = (strDateE-strDateS)/(1000*3600*24);

//alert(intDay);

var intMonth = intDay/30;

if(intMonth>month){

return false;

}

return true;

繼續閱讀