首頁技術(shù)文章正文

Web前端開發(fā)培訓(xùn)之41個JavaScript實(shí)用技巧

更新時(shí)間:2017-05-31 來源:黑馬程序員web前端開發(fā)培訓(xùn)學(xué)院 瀏覽量:

1. 將徹底屏蔽鼠標(biāo)右鍵

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
<font size="3">oncontextmenu=”window.event.returnValue=false
< table border oncontextmenu=return(false)>< td>no< /table> 可用于 Table</font>


2. 取消選取、防止復(fù)制

[JavaScript] 純文本查看 復(fù)制代碼
1
<font size="3">< body onselectstart=”return false”></font>


3.JS不允許粘貼

[JavaScript] 純文本查看 復(fù)制代碼
1
<font size="3">onpaste=”return false”</font>


4. JS防止復(fù)制

[JavaScript] 純文本查看 復(fù)制代碼
1
<font size="3">oncopy=”return false;” oncut=”return false;”</font>


5. IE 地址欄前換成自己的圖標(biāo)

[JavaScript] 純文本查看 復(fù)制代碼
1
<font size="3">< link rel=”Shortcut Icon” href=”favicon.ico”></font>

在文件的根目錄放進(jìn)去這個圖片,后綴修改成ico就可以了


6.可以在收藏夾中顯示出你的圖標(biāo)

[JavaScript] 純文本查看 復(fù)制代碼
1
<font size="3">< link rel=”Bookmark” href=”favicon.ico”></font>


7.關(guān)閉輸入法

[JavaScript] 純文本查看 復(fù)制代碼
1
<font size="3">< input style=”ime-mode:disabled”></font>


8. 永遠(yuǎn)都會帶著框架

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
4
5
<font size="3">< script language=”JavaScript”>< !–
if (window == top)top.location.href = “frames.htm”; //frames.htm 為框架網(wǎng)頁
// –>< /script></font>


9. 防止被人 frame

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
4
5
<font size="3">< SCRIPT LANGUAGE=JAVASCRIPT>< !–
if (top.location != self.location)top.location=self.location;
// –>< /SCRIPT></font>


10. 網(wǎng)頁將不能被另存為

[JavaScript] 純文本查看 復(fù)制代碼
1
<font size="3">< noscript>< iframe src=*.html>< /iframe>< /noscript></font>


11. < input type=button value=查看網(wǎng)頁源代碼

[JavaScript] 純文本查看 復(fù)制代碼
1
<font size="3">onclick=”window.location = “view-source:”+ “[url=http://www.pconline.com.cn]http://www.pconline.com.cn[/url]””></font>


12. 刪除時(shí)確認(rèn)

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
<font size="3">< a href=”javascript:if(confirm(” 確 實(shí) 要 刪 除 嗎 ?”))location=”boos.asp?&areyou= 刪 除
&page=1″”>刪除< /a></font>


13. 取得控件的絕對位置

[JavaScript] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<font size="3">//Javascript
< script language=”Javascript”>
function getIE(e){
var t=e.offsetTop;
var l=e.offsetLeft;
while(e=e.offsetParent){
t+=e.offsetTop;
l+=e.offsetLeft;
}
alert(“top=”+t+”/nleft=”+l);
}
< /script>
//VBScript
< script language=”VBScript”>< !–
function getIE()
dim t,l,a,b
set a=document.all.img1
t=document.all.img1.offsetTop
l=document.all.img1.offsetLeft
while a.tagName< >”BODY”
set a = a.offsetParent
t=t+a.offsetTop
l=l+a.offsetLeft
wend
msgbox “top=”&t&chr(13)&”left=”&l,64,”得到控件的位置”
end function
–>< /script></font>


14. 光標(biāo)是停在文本框文字的最后

[JavaScript] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
<font size="3">< script language=”javascript”>
function cc()
{
var e = event.srcElement;
var r =e.createTextRange();
r.moveStart(“character”,e.value.length);
r.collapse(true);
r.select();
}
< /script>
< input type=text name=text1 value=”123″ onfocus=”cc()”></font>


15. 判斷上一頁的來源

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
<font size="3">javascript:
document.referrer</font>


16. 最小化、最大化、關(guān)閉窗口

[JavaScript] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
<font size="3">< 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=最小化 onclick=hh1.Click()>
< input type=button value=最大化 onclick=hh2.Click()>
< input type=button value=關(guān)閉 onclick=hh3.Click()></font>

本例適用于 IE


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

[JavaScript] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
<font size="3">< script>
function look(){
if(event.shiftKey)
alert(“禁止按 Shift 鍵!”); //可以換成 ALT CTRL
}
document.onkeydown=look;
< /script></font>


18. 網(wǎng)頁不會被緩存

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
4
5
6
7
<font size="3">< 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″></font>


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

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
4
5
6
7
<font size="3">< 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></font>


20.< div>< span>&< layer>的區(qū)別?

[JavaFX] 純文本查看 復(fù)制代碼
1
2
3
4
5
<font size="3">< div>(division)用來定義大段的頁面元素,會產(chǎn)生轉(zhuǎn)行
< span>用來定義同一行內(nèi)的元素,跟< div>的唯一區(qū)別是不產(chǎn)生轉(zhuǎn)行
< layer>是 ns 的標(biāo)記,ie 不支持,相當(dāng)于< div></font>


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

[JavaScript] 純文本查看 復(fù)制代碼
1
<font size="3">< body onblur=”this.focus();”></font>


22.不要滾動條?

讓豎條沒有:

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
<font size="3">< body style=”overflow:scroll;overflow-y:hidden”>
< /body></font>

讓橫條沒有:

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
<font size="3">< body style=”overflow:scroll;overflow-x:hidden”>
< /body></font>

兩個都去掉?更簡單了

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
<font size="3">< body scroll=”no”>
< /body></font>


23.怎樣去掉圖片鏈接點(diǎn)擊后,圖片周圍的虛線?

[JavaFX] 純文本查看 復(fù)制代碼
1
<font size="3">< a href=”#” onFocus=”this.blur()”>< img src=”logo.jpg” border=0>< /a></font>


24.電子郵件處理提交表單

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
4
5
<font size="3">< form name=”form1″ method=”post” action=”mailto:****@***.com” enctype=”text/plain”>
< input type=submit>
< /form></font>


25.在打開的子窗口刷新父窗口的代碼里如何寫?

[JavaScript] 純文本查看 復(fù)制代碼
1
<font size="3">window.opener.location.reload()</font>


26.如何設(shè)定打開頁面的大小

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
<font size="3">< body onload=”top.resizeTo(300,200);”>
打開頁面的位置< body onload=”top.moveBy(300,200);”></font>


27.在頁面中如何加入不是滿鋪的背景圖片,拉動頁面時(shí)背景圖不動

[JavaFX] 純文本查看 復(fù)制代碼
1
2
3
4
5
6
7
8
9
<font size="3">< STYLE>
body
{background-image:none; background-repeat:no-repeat;
background-position:center;background-attachment: fixed}
< /STYLE></font>


28. 檢查一段字符串是否全由數(shù)字組成

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
4
5
6
7
8
9
<font size="3">< script language=”Javascript”>< !–
function checkNum(str){return str.match(//D/)==null}
alert(checkNum(“1232142141”))
alert(checkNum(“123214214a1”))
// –>< /script></font>


29. 獲得一個窗口的大小

[JavaScript] 純文本查看 復(fù)制代碼
1
<font size="3">document.body.clientWidth; document.body.clientHeight</font>


30. 怎么判斷是否是字符

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
<font size="3">if (/[^/x00-/xff]/g.test(s)) alert(“含有漢字”);
else alert(“全是字符”);</font>


31.TEXTAREA 自適應(yīng)文字行數(shù)的多少

[JavaScript] 純文本查看 復(fù)制代碼
1
2
3
<font size="3">< textarea rows=1 name=s1 cols=27 onpropertychange=”this.style.posHeight=this.scrollHeight”>
< /textarea></font>


32. 日期減去天數(shù)等于第二個日期

[JavaScript] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<font size="3">< 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></font>


33. 選擇了哪一個 Radio

[JavaScript] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
<font size="3">< 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” onclick=”checkme()”>
< /BODY>< /HTML></font>


34. 腳本永不出錯

[JavaScript] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
<font size="3">< SCRIPT LANGUAGE=”JavaScript”>
< !– Hide
function killErrors() {
return true;
}
window.onerror = killErrors;
// –>
< /SCRIPT></font>


35. ENTER 鍵可以讓光標(biāo)移到下一個輸入框

[JavaFX] 純文本查看 復(fù)制代碼
1
<font size="3">< input onkeydown=”if(event.keyCode==13)event.keyCode=9″></font>


36. 檢測某個網(wǎng)站的鏈接速度:

把如下代碼加入< body>區(qū)域中:

[JavaScript] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<font size="3">< script language=Javascript>
tim=1
setInterval(“tim++”,100)
b=1
var autourl=new Array()
autourl[1]=”[url=http://www.njcatv.net]www.njcatv.net[/url]”
autourl[2]=”javacool.3322.net”
autourl[3]=”[url=http://www.sina.com.cn]www.sina.com.cn[/url]”
autourl[4]=”[url=http://www.nuaa.edu.cn]www.nuaa.edu.cn[/url]”
autourl[5]=”[url=http://www.cctv.com]www.cctv.com[/url]”
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
onclick=window.open(this.form.url”+i+”.value)>
“)
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=”鏈接超時(shí)”}
else
{document.forms[0][“txt”+b].value=”時(shí)間”+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
onerror=auto(“http://”+autourl+””)>”)}
run()< /script></font>


37. 各種樣式的光標(biāo)

auto :標(biāo)準(zhǔn)光標(biāo)

default :標(biāo)準(zhǔn)箭頭

hand :手形光標(biāo)

wait :等待光標(biāo)

text :I 形光標(biāo)

vertical-text :水平 I 形光標(biāo)

no-drop :不可拖動光標(biāo)

not-allowed :無效光標(biāo)

help :?幫助光標(biāo)

all-scroll :三角方向標(biāo)

move :移動標(biāo)

crosshair :十字標(biāo)

e-resize

n-resize

nw-resize

w-resize

s-resize

se-resize

sw-resize


38. 頁面進(jìn)入和退出的特效

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

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

這個是頁面被載入和調(diào)出時(shí)的一些特效。duration 表示特效的持續(xù)時(shí)間,以秒為單位。

transition 表示使用哪種特效,取值為

1-23:

0 矩形縮小

1 矩形擴(kuò)大

2 圓形縮小

3 圓形擴(kuò)大

4 下到上刷新

5 上到下刷新

6 左到右刷新

7 右到左刷新

8 豎百葉窗

9 橫百葉窗

10 錯位橫百葉窗

11 錯位豎百葉窗

12 點(diǎn)擴(kuò)散

13 左右到中間刷新

14 中間到左右刷新

15 中間到上下

16 上下到中間

17 右下到左上

18 右上到左下

19 左上到右下

20 左下到右上

21 橫條

22 豎條

23 以上 22 種隨機(jī)選擇一種


39. 在規(guī)定時(shí)間內(nèi)跳轉(zhuǎn)

[JavaScript] 純文本查看 復(fù)制代碼
1
<font size="3">< META http-equiv=V=”REFRESH” content=”5;URL=http://www.51js.com”></font>


40. 網(wǎng)頁是否被檢索

[JavaScript] 純文本查看 復(fù)制代碼
1
<font size="3">< meta name=”ROBOTS” content=”屬性值”></font>


其中屬性值有以下一些:

屬性值為”all”: 文件將被檢索,且頁上鏈接可被查詢;

屬性值為”none”: 文件不被檢索,而且不查詢頁上的鏈接;

屬性值為”index”: 文件將被檢索;

屬性值為”follow”: 查詢頁上的鏈接;

屬性值為”noindex”: 文件不檢索,但可被查詢鏈接;

屬性值為”nofollow”: 文件不被檢索,但可查詢頁上的鏈接。


41. 回車

用客戶端腳本在頁面添加document 的onkeydown事件,讓頁面在接受到回車事件后,進(jìn)行Tab

鍵的功能,即只要把 event 的 keyCode 由 13 變?yōu)?9

Javascript 代碼如下:

[JavaScript] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
<font size="3"><script language=”javascript” for=”document” event=”onkeydown”>
<!–
if(event.keyCode==13)
event.keyCode=9;
–>
</script></font>


這樣的處理方式,可以實(shí)現(xiàn)焦點(diǎn)往下移動,但對于按鈕也起同樣的作用,一般的客戶在輸入完

資料以后,跳到按鈕后,最好能直接按”回車”進(jìn)行數(shù)據(jù)的提交.因此,對上面的方法要進(jìn)行一下

修改,應(yīng)該對于”提交”按鈕不進(jìn)行焦點(diǎn)轉(zhuǎn)移.而直接激活提交.

因此我對上面的代碼進(jìn)行了一個修改,即判斷事件的”源”,是否為提交按鈕,代碼如下:

[JavaScript] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
<font size="3"><script language=”javascript” for=”document” event=”onkeydown”>
<!–
if(event.keyCode==13 && event.srcElement.type!=’button’ &&
event.srcElement.type!=’submit’ && event.srcElement.type!=’reset’ &&
event.srcElement.type!=’textarea’ && event.srcElement.type!=”)
event.keyCode=9;
–>
</script></font>


判斷是否為 button, 是因?yàn)樵?HTML 上會有 type=”button”

判斷是否為 submit,是因?yàn)?HTML 上會有 type=”submit”

判斷是否為 reset,是因?yàn)?HTML 上的”重置”應(yīng)該要被執(zhí)行

判斷是否為空,是因?yàn)閷τ?HTML 上的”<a>鏈接”也應(yīng)該被執(zhí)行,這種情況發(fā)生的情況不多,可以使用”tabindex=-1″的方式來取消鏈接獲得焦點(diǎn)。


本文版權(quán)歸黑馬程序員web前端開發(fā)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處,謝謝!
作者:黑馬程序員web前端培訓(xùn)學(xué)院;
首發(fā):http://web.itheima.com/ 

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!