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;