先来了解一下什么是JS吧:9vs林心小筑
javascript是一个解释式的、基于对象的脚本程序语言.虽然javascript比面向对象(obje9vs林心小筑
ct-oriented)譬如C++、Java等程序语言的功能少,但具备足够完整的功能.9vs林心小筑
javascript可以在客户端(client-side)以及服务器(server-side)上执行. 9vs林心小筑
javascript程序不能单独执行,须在浏览器或站点服务器上执行.目前能够支持的浏览9vs林心小筑
器以\"IE 9vs林心小筑
3.x\",\"Netscape 3.x\"以上版本的浏览器为主.9vs林心小筑
javascript可以串联和控制ActiveX Controls,在客户端浏览器上执行;也可以串联到9vs林心小筑
IIS的Active Server Pages的服务器上执行.9vs林心小筑
9vs林心小筑
有时在一个表单中要求客户提交信息是,输入的值不能为空,这时有两种解决方法:9vs林心小筑
9vs林心小筑
一种是在服务器端程序中实现。这种方案,它的缺点是客户端的请求必须在网络上传送9vs林心小筑
给服务器,然后由服务器程序进行判断,将结果返回客户端。为了判断一个条件在网上传送9vs林心小筑
了两次,这样既浪费了时间,也浪费了网络资源。9vs林心小筑
9vs林心小筑
二是在客户端程序中进行判断。这样就出现了javascript,由于它是一种可以在浏览器9vs林心小筑
端运行的脚本语言,不必经过网络传送,因而有很高效率,而且它有很强的兼容性和灵活性9vs林心小筑
,这就要求一个Web程序员必须要会javascript。目前大多数浏览器都支持javascript。9vs林心小筑
9vs林心小筑
1. oncontextmenu=\"window.event.returnvalue=false\" 将彻底屏蔽鼠标右键9vs林心小筑
<table border oncontextmenu=return(false)><td>no</table> 可用于Table9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
2. <body onselectstart=\"return false\"> 取消选取、防止复制9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
3. onpaste=\"return false\" 不准粘贴9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
4. oncopy=\"return false;\" oncut=\"return false;\" 防止复制9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
5. <link rel=\"Shortcut Icon\" href=\"favicon.ico\"> IE地址栏前换成自己的图标9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
6. <link rel=\"Bookmark\" href=\"favicon.ico\"> 可以在收藏夹中显示出你的图标9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
7. <input style=\"ime-mode:disabled\"> 关闭输入法9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
8. 永远都会带着框架9vs林心小筑
<script language=\"javascript\"><!--9vs林心小筑
if (window == top)top.location.href = \"frames.htm\"; //frames.htm为框架网页9vs林心小筑
// --></script>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
9. 防止被人frame9vs林心小筑
<script LANGUAGE=javascript><!-- 9vs林心小筑
if (top.location != self.location)top.location=self.location;9vs林心小筑
// --></script>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
10. 网页将不能被另存为9vs林心小筑
<noscript><iframe src=*.html></iframe></noscript> 9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
11. <input type=button value=查看网页源代码 9vs林心小筑
onclick=\"window.location = \"view-source:\"+ \"http://www.51js.com/\";\">9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
12.删除时确认9vs林心小筑
<a href=\"javascript:if(confirm(\"确实要删除吗?\"))location=\"boos.asp?&areyou=删除9vs林心小筑
&page=1\"\">删9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
除</a> 9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
13. 取得控件的绝对位置9vs林心小筑
//javascript9vs林心小筑
<script language=\"javascript\">9vs林心小筑
function getIE(e){9vs林心小筑
var t=e.offsetTop;9vs林心小筑
var l=e.offsetLeft;9vs林心小筑
while(e=e.offsetParent){9vs林心小筑
t+=e.offsetTop;9vs林心小筑
l+=e.offsetLeft;9vs林心小筑
}9vs林心小筑
alert(\"top=\"+t+\"/nleft=\"+l);9vs林心小筑
}9vs林心小筑
</script>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
//VBscript9vs林心小筑
<script language=\"VBscript\"><!--9vs林心小筑
function getIE()9vs林心小筑
dim t,l,a,b9vs林心小筑
set a=document.all.img19vs林心小筑
t=document.all.img1.offsetTop9vs林心小筑
l=document.all.img1.offsetLeft9vs林心小筑
while a.tagName<>\"BODY\"9vs林心小筑
set a = a.offsetParent9vs林心小筑
t=t+a.offsetTop9vs林心小筑
l=l+a.offsetLeft9vs林心小筑
wend9vs林心小筑
msgbox \"top=\"&t&chr(13)&\"left=\"&l,64,\"得到控件的位置\"9vs林心小筑
end function9vs林心小筑
--></script>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
14. 光标是停在文本框文字的最后9vs林心小筑
<script language=\"javascript\">9vs林心小筑
function cc()9vs林心小筑
{9vs林心小筑
var e = event.srcElement;9vs林心小筑
var r =e.createTextRange();9vs林心小筑
r.moveStart(\"character\",e.value.length);9vs林心小筑
r.collapse(true);9vs林心小筑
r.select();9vs林心小筑
}9vs林心小筑
</script>9vs林心小筑
<input type=text name=text1 value=\"123\" onfocus=\"cc()\">9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
15. 判断上一页的来源9vs林心小筑
javascript:9vs林心小筑
document.referrer9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
16. 最小化、最大化、关闭窗口9vs林心小筑
<object id=hh1 classid=\"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11\"> 9vs林心小筑
<param name=\"Command\" value=\"Minimize\"></object>9vs林心小筑
<object id=hh2 classid=\"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11\"> 9vs林心小筑
<param name=\"Command\" value=\"Maximize\"></object>9vs林心小筑
<OBJECT id=hh3 classid=\"clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11\">9vs林心小筑
<PARAM NAME=\"Command\" value=\"Close\"></OBJECT>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
<input type=button value=最小化 onclick=hh1.Click()>9vs林心小筑
<input type=button value=最大化 onclick=hh2.Click()>9vs林心小筑
<input type=button value=关闭 onclick=hh3.Click()>9vs林心小筑
本例适用于IE9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
17.屏蔽功能键Shift,Alt,Ctrl9vs林心小筑
<script>9vs林心小筑
function look(){ 9vs林心小筑
if(event.shiftKey) 9vs林心小筑
alert(\"禁止按Shift键!\"); //可以换成ALT CTRL9vs林心小筑
} 9vs林心小筑
document.onkeydown=look; 9vs林心小筑
</script>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
18. 网页不会被缓存9vs林心小筑
<META HTTP-EQUIV=\"pragma\" CONTENT=\"no-cache\">9vs林心小筑
<META HTTP-EQUIV=\"Cache-Control\" CONTENT=\"no-cache, must-revalidate\">9vs林心小筑
<META HTTP-EQUIV=\"expires\" CONTENT=\"Wed, 26 Feb 1997 08:21:57 GMT\">9vs林心小筑
或者<META HTTP-EQUIV=\"expires\" CONTENT=\"0\">9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
19.怎样让表单没有凹凸感?9vs林心小筑
<input type=text style=\"border:1 solid #000000\"> 9vs林心小筑
或9vs林心小筑
<input type=text style=\"border-left:none; border-right:none; border-top:none; 9vs林心小筑
border-bottom: 9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
1 solid #000000\"></textarea>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
20.<div><span>&<layer>的区别? 9vs林心小筑
<div>(division)用来定义大段的页面元素,会产生转行 9vs林心小筑
<span>用来定义同一行内的元素,跟<div>的唯一区别是不产生转行 9vs林心小筑
<layer>是ns的标记,ie不支持,相当于<div>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
21.让弹出窗口总是在最上面:9vs林心小筑
<body onblur=\"this.focus();\">9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
22.不要滚动条? 9vs林心小筑
让竖条没有: 9vs林心小筑
<body style=\"overflow:scroll;overflow-y:hidden\"> 9vs林心小筑
</body> 9vs林心小筑
让横条没有: 9vs林心小筑
<body style=\"overflow:scroll;overflow-x:hidden\"> 9vs林心小筑
</body> 9vs林心小筑
两个都去掉?更简单了 9vs林心小筑
<body scroll=\"no\"> 9vs林心小筑
</body> 9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
23.怎样去掉图片链接点击后,图片周围的虚线?9vs林心小筑
<a href=\"#\" onFocus=\"this.blur()\"><img src=\"logo.jpg\" border=0></a>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
24.电子邮件处理提交表单9vs林心小筑
<form name=\"form1\" method=\"post\" action=\"mailto:****@***.com\" enctype=\"text/pl9vs林心小筑
ain\"> 9vs林心小筑
<input type=submit>9vs林心小筑
</form>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
25.在打开的子窗口刷新父窗口的代码里如何写?9vs林心小筑
window.opener.location.reload()9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
26.如何设定打开页面的大小9vs林心小筑
<body onload=\"top.resizeTo(300,200);\">9vs林心小筑
打开页面的位置<body onload=\"top.moveBy(300,200);\">9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
27.在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动 9vs林心小筑
<STYLE> 9vs林心小筑
body 9vs林心小筑
{background-image:url(logo.gif); background-repeat:no-repeat; 9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
background-position:center;background-attachment: fixed} 9vs林心小筑
</STYLE> 9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
28. 检查一段字符串是否全由数字组成9vs林心小筑
<script language=\"javascript\"><!--9vs林心小筑
function checkNum(str){return str.match(//D/)==null}9vs林心小筑
alert(checkNum(\"1232142141\"))9vs林心小筑
alert(checkNum(\"123214214a1\"))9vs林心小筑
// --></script>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
29. 获得一个窗口的大小9vs林心小筑
document.body.clientWidth; document.body.clientHeight9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
30. 怎么判断是否是字符9vs林心小筑
if (/[^/x00-/xff]/g.test(s)) alert(\"含有汉字\");9vs林心小筑
else alert(\"全是字符\");9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
31.TEXTAREA自适应文字行数的多少9vs林心小筑
<textarea rows=1 name=s1 cols=27 onpropertychange=\"this.style.posHeight=this.s9vs林心小筑
crollHeight\">9vs林心小筑
</textarea>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
32. 日期减去天数等于第二个日期9vs林心小筑
<script language=javascript>9vs林心小筑
function cc(dd,dadd)9vs林心小筑
{9vs林心小筑
//可以加上错误处理9vs林心小筑
var a = new Date(dd)9vs林心小筑
a = a.valueOf()9vs林心小筑
a = a - dadd * 24 * 60 * 60 * 10009vs林心小筑
a = new Date(a)9vs林心小筑
alert(a.getFullYear() + \"年\" + (a.getMonth() + 1) + \"月\" + a.getDate() + \"日\")9vs林心小筑
}9vs林心小筑
cc(\"12/23/2002\",2)9vs林心小筑
</script>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
33. 选择了哪一个Radio9vs林心小筑
<HTML><script language=\"vbscript\">9vs林心小筑
function checkme()9vs林心小筑
for each ob in radio19vs林心小筑
if ob.checked then window.alert ob.value9vs林心小筑
next9vs林心小筑
end function9vs林心小筑
</script><BODY>9vs林心小筑
<INPUT name=\"radio1\" type=\"radio\" value=\"style\" checked>Style9vs林心小筑
<INPUT name=\"radio1\" type=\"radio\" value=\"barcode\">Barcode9vs林心小筑
<INPUT type=\"button\" value=\"check\" onclick=\"checkme()\">9vs林心小筑
</BODY></HTML>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
34.脚本永不出错9vs林心小筑
<script LANGUAGE=\"javascript\"> 9vs林心小筑
<!-- Hide 9vs林心小筑
function killErrors() { 9vs林心小筑
return true; 9vs林心小筑
} 9vs林心小筑
window.onerror = killErrors; 9vs林心小筑
// --> 9vs林心小筑
</script>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
35.ENTER键可以让光标移到下一个输入框9vs林心小筑
<input onkeydown=\"if(event.keyCode==13)event.keyCode=9\">9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
36. 检测某个网站的链接速度:9vs林心小筑
把如下代码加入<body>区域中:9vs林心小筑
<script language=javascript>9vs林心小筑
tim=19vs林心小筑
setInterval(\"tim++\",100)9vs林心小筑
b=19vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
var autourl=new Array()9vs林心小筑
autourl[1]=\"www.njcatv.net\"9vs林心小筑
autourl[2]=\"javacool.3322.net\"9vs林心小筑
autourl[3]=\"www.sina.com.cn\"9vs林心小筑
autourl[4]=\"www.nuaa.edu.cn\"9vs林心小筑
autourl[5]=\"www.cctv.com\"9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
function butt(){9vs林心小筑
document.write(\"<form name=autof>\")9vs林心小筑
for(var i=1;i<autourl.length;i++)9vs林心小筑
document.write(\"<input type=text name=txt\"+i+\" size=10 value=测试中……> =》9vs林心小筑
<input type=text 9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
name=url\"+i+\" size=40> =》<input type=button value=GO 9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
onclick=window.open(this.form.url\"+i+\".value)><br>\")9vs林心小筑
document.write(\"<input type=submit value=刷新></form>\")9vs林心小筑
}9vs林心小筑
butt()9vs林心小筑
function auto(url){9vs林心小筑
document.forms[0][\"url\"+b].value=url9vs林心小筑
if(tim>200)9vs林心小筑
{document.forms[0][\"txt\"+b].value=\"链接超时\"}9vs林心小筑
else9vs林心小筑
{document.forms[0][\"txt\"+b].value=\"时间\"+tim/10+\"秒\"}9vs林心小筑
b++9vs林心小筑
}9vs林心小筑
function run(){for(var i=1;i<autourl.length;i++)document.write(\"<img 9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
src=http://\"+autourl+\"/\"+Math.random()+\" width=1 height=1 9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
onerror=auto(http://\";+autourl+\"\")>\")}9vs林心小筑
run()</script>9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
37. 各种样式的光标9vs林心小筑
auto :标准光标9vs林心小筑
default :标准箭头9vs林心小筑
hand :手形光标9vs林心小筑
wait :等待光标9vs林心小筑
text :I形光标9vs林心小筑
vertical-text :水平I形光标9vs林心小筑
no-drop :不可拖动光标9vs林心小筑
not-allowed :无效光标9vs林心小筑
help :?帮助光标9vs林心小筑
all-scroll :三角方向标9vs林心小筑
move :移动标9vs林心小筑
crosshair :十字标9vs林心小筑
e-resize9vs林心小筑
n-resize9vs林心小筑
nw-resize9vs林心小筑
w-resize9vs林心小筑
s-resize9vs林心小筑
se-resize9vs林心小筑
sw-resize9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
38.页面进入和退出的特效9vs林心小筑
进入页面<meta http-equiv=\"Page-Enter\" content=\"revealTrans(duration=x, transit9vs林心小筑
ion=y)\">9vs林心小筑
推出页面<meta http-equiv=\"Page-Exit\" content=\"revealTrans(duration=x, transiti9vs林心小筑
on=y)\"> 9vs林心小筑
这个是页面被载入和调出时的一些特效。duration表示特效的持续时间,以秒为单位。tran9vs林心小筑
sition表示使9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
用哪种特效,取值为1-23:9vs林心小筑
0 矩形缩小 9vs林心小筑
1 矩形扩大 9vs林心小筑
2 圆形缩小9vs林心小筑
3 圆形扩大 9vs林心小筑
4 下到上刷新 9vs林心小筑
5 上到下刷新9vs林心小筑
6 左到右刷新 9vs林心小筑
7 右到左刷新 9vs林心小筑
8 竖百叶窗9vs林心小筑
9 横百叶窗 9vs林心小筑
10 错位横百叶窗 9vs林心小筑
11 错位竖百叶窗9vs林心小筑
12 点扩散 9vs林心小筑
13 左右到中间刷新 9vs林心小筑
14 中间到左右刷新9vs林心小筑
15 中间到上下9vs林心小筑
16 上下到中间 9vs林心小筑
17 右下到左上9vs林心小筑
18 右上到左下 9vs林心小筑
19 左上到右下 9vs林心小筑
20 左下到右上9vs林心小筑
21 横条 9vs林心小筑
22 竖条 9vs林心小筑
23 以上22种随机选择一种9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
39.在规定时间内跳转9vs林心小筑
<META http-equiv=V=\"REFRESH\" content=\"5;URL=http://www.51js.com\"> 9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
40.网页是否被检索9vs林心小筑
<meta name=\"ROBOTS\" content=\"属性值\">9vs林心小筑
其中属性值有以下一些:9vs林心小筑
属性值为\"all\": 文件将被检索,且页上链接可被查询;9vs林心小筑
属性值为\"none\": 文件不被检索,而且不查询页上的链接;9vs林心小筑
属性值为\"index\": 文件将被检索;9vs林心小筑
属性值为\"follow\": 查询页上的链接;9vs林心小筑
属性值为\"noindex\": 文件不检索,但可被查询链接;9vs林心小筑
属性值为\"nofollow\": 文件不被检索,但可查询页上的链接。9vs林心小筑
9vs林心小筑
41.检测浏览器类型并用声音提示 9vs林心小筑
这个脚本检测访问者的浏览器类型,并用不同的MIDI来提示,非常的COOL!9vs林心小筑
将代码加入<BODY>区:声音文件自己随便选择.9vs林心小筑
9vs林心小筑
9vs林心小筑
9vs林心小筑
<script LANGUAGE=\"javascript\">9vs林心小筑
<!-- Begin9vs林心小筑
var MSIE=navigator.userAgent.indexOf(\"MSIE\");9vs林心小筑
var NETS=navigator.userAgent.indexOf(\"Netscape\");9vs林心小筑
var9vs林心小筑
OPER=navigator.userAgent.indexOf(\"Opera\");9vs林心小筑
if((MSIE>-1) ││ (OPER>-1)) {9vs林心小筑
document.write(\"<BGSOUND SRC=sound.mid LOOP=INFINITE>\");9vs林心小筑
} 9vs林心小筑
else {9vs林心小筑
document.write(\"<EMBED SRC=sound2.mid AUTOSTART=TRUE \");9vs林心小筑
document.write(\"HIDDEN=true VOLUME=100 LOOP=TRUE>\");9vs林心小筑
}9vs林心小筑
// End -->9vs林心小筑
</script> 9vs林心小筑
9vs林心小筑
检测访问者使用的浏览器是IE还是NS,然后根据检测结果带领他们去相应的页面,可以9vs林心小筑
有效地避免浏览器的不兼容导致的页面浏览异常,下面再给出一种方法:9vs林心小筑
代码非常简单,将如下代码加入HTML的<head>区:9vs林心小筑
<!-- 导向IE页面--->9vs林心小筑
<script LANGUAGE=\"javascript\">9vs林心小筑
<!---------- javascript begins...9vs林心小筑
URL = \"IE.htm\";9vs林心小筑
// 将此URL改为支持IE的页面9vs林心小筑
var name = navigator.appName9vs林心小筑
if (name == \"Microsoft Internet Explorer\")9vs林心小筑
window.location = URL;9vs林心小筑
// javascript ends ---------->9vs林心小筑
</script>9vs林心小筑
<!-- 导向NS页面--->9vs林心小筑
<script LANGUAGE=\"javascript\">9vs林心小筑
<!---------- javascript begins...9vs林心小筑
URL = \"*.htm\";9vs林心小筑
// 将此URL改为支持NS的页面9vs林心小筑
var name = navigator.appName9vs林心小筑
if (name == \"Netscape\")9vs林心小筑
window.location = URL;9vs林心小筑
// javascript ends ---------->9vs林心小筑
</script> 9vs林心小筑
9vs林心小筑
向作者提问 |