Javascript技巧

   1 收藏本站
   2 
   3  
   4 <span style="CURSOR: hand" onClick="window.external.addFavorite('http://www.xjcncn.com','新疆二域设计')" title="新疆二域设计">收藏本站</span>
   5 或:
   6 <Script Language="JavaScript"> 
   7   function bookmarkit() 
   8   { 
   9   window.external.addFavorite('http://www.xjcncn.com','新疆二域设计') 
  10   } 
  11   if (document.all)document.write('<a href="#" onClick="bookmarkit()">加入收藏夹</a>') 
  12   </Script>
  13  
  14 通用的加入收藏夹
  15  
  16 <script type="text/javascript">
  17 // <![CDATA[
  18 function bookmark(){
  19 var title=document.title
  20 var url=document.location.href
  21 if (window.sidebar) window.sidebar.addPanel(title, url,"");
  22 else if( window.opera && window.print ){
  23 var mbm = document.createElement('a');
  24 mbm.setAttribute('rel','sidebar');
  25 mbm.setAttribute('href',url);
  26 mbm.setAttribute('title',title);
  27 mbm.click();}
  28 else if( document.all ) window.external.AddFavorite( url, title);
  29 }
  30 // ]]>
  31 </script>
  32 
  33 <a href="javascript:bookmark()">加入收藏夹</a>
  34 在IE6-7. FF2.0 OP9.0中测试通过
  35 
  36 设为首页
  37 
  38  
  39 <span οnclick="var strHref=window.location.href;this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.xjcncn.com');" style="CURSOR: hand">设为首页</span>
  40  
  41 返回页首
  42 
  43  
  44 <img src="/imgs/top.gif" onClick="javascript:document.location='#top'" style="cursor:pointer;">
  45  
  46 在原窗口中打开
  47 
  48  
  49 οnclick="location.href='http://www.xjcncn.com;" style="cursor:pointer;"
  50  
  51 
  52 
  53 在新窗口中打开
  54 
  55  
  56 οnclick="location.href='http://www.xjcncn.com';" style="cursor:pointer;" 
  57 
  58 
  59 
  60 前进
  61 
  62  
  63 <INPUT name=Submit οnclick=history.go(1) type=submit value=前进>
  64  
  65 
  66 
  67 后退
  68 
  69  
  70 <INPUT name=Submit2 οnclick=history.go(-1) type=submit value=后退>
  71  
  72 
  73 
  74 关闭当前窗口
  75 
  76  
  77 <a href="/"onClick="javascript:window.close();return false;">关闭窗口</a> 
  78 
  79 
  80 
  81 打印
  82 
  83  
  84 <input name=Button onClick=document.all.WebBrowser.ExecWB(6,1) type=button value=打印><OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT> 
  85 
  86 
  87 
  88 高亮显示的行
  89 
  90  
  91 onMouseOut="this.bgColor='';this.style.color='#000'" onMouseOver="this.bgColor='highlight';this.style.color='#fff'"
  92  
  93 事件源对象 
  94 event.srcElement.tagName 
  95 event.srcElement.type 
  96 捕获释放 
  97 event.srcElement.setCapture(); 
  98 event.srcElement.releaseCapture(); 
  99 事件按键 
 100 event.keyCode 
 101 event.shiftKey 
 102 event.altKey 
 103 event.ctrlKey 
 104 事件返回值 
 105 event.returnValue 
 106 鼠标位置 
 107 event.x 
 108 event.y 
 109 窗体活动元素 
 110 document.activeElement 
 111 绑定事件 
 112 document.captureEvents(Event.KEYDOWN); 
 113 访问窗体元素 
 114 document.all("txt").focus(); 
 115 document.all("txt").select(); 
 116 窗体命令 
 117 document.execCommand 
 118 窗体COOKIE 
 119 document.cookie 
 120 菜单事件 
 121 document.oncontextmenu 
 122 创建元素 
 123 document.createElement("SPAN"); 
 124 根据鼠标获得元素: 
 125 document.elementFromPoint(event.x,event.y).tagName=="TD 
 126 document.elementFromPoint(event.x,event.y).appendChild(ms) 
 127 窗体图片 
 128 document.images[索引] 
 129 窗体事件绑定 
 130 document.οnmοusedοwn=scrollwindow; 
 131 元素 
 132 document.窗体.elements[索引] 
 133 对象绑定事件 
 134 document.all.xxx.detachEvent('onclick',a); 
 135 插件数目 
 136 navigator.plugins 
 137 取变量类型 
 138 typeof($js_libpath) == "undefined" 
 139 下拉框 
 140 下拉框.options[索引] 
 141 下拉框.options.length 
 142 查找对象 
 143 document.getElementsByName("r1"); 
 144 document.getElementById(id); 
 145 定时 
 146 timer=setInterval('scrollwindow()',delay); 
 147 clearInterval(timer); 
 148 UNCODE编码 
 149 escape() ,unescape 
 150 父对象 
 151 obj.parentElement(dhtml) 
 152 obj.parentNode(dom) 
 153 交换表的行 
 154 TableID.moveRow(2,1) 
 155 替换CSS 
 156 document.all.csss.href = "a.css"; 
 157 并排显示 
 158 display:inline 
 159 隐藏焦点 
 160 hidefocus=true 
 161 根据宽度换行 
 162 style="word-break:break-all" 
 163 自动刷新 
 164 <meta HTTP-EQUIV="refresh" C> 
 165 简单邮件 
 166 <a href="[email=aaa@bbb.com?subject=ccc&body=xxxyyy]mailto:aaa@bbb.com?subject=ccc&body=xxxyyy[/email]"> 
 167 快速转到位置 
 168 obj.scrollIntoView(true) 
 169  170 <a name="first"> 
 171 <a href="#first">anchors</a> 
 172 网页传递参数 
 173 location.search(); 
 174 可编辑 
 175 obj.contenteditable=true 
 176 执行菜单命令 
 177 obj.execCommand 
 178 双字节字符 
 179 /[^\x00-\xff]/ 
 180 汉字 
 181 /[\u4e00-\u9fa5]/ 
 182 让英文字符串超出表格宽度自动换行 
 183 word-wrap: break-word; word-break: break-all; 
 184 透明背景 
 185 <IFRAME src="1.htm" width=300 height=180 allowtransparency></iframe> 
 186 获得style内容 
 187 obj.style.cssText 
 188 HTML标签 
 189 document.documentElement.innerHTML 
 190 第一个style标签 
 191 document.styleSheets[0] 
 192 style标签里的第一个样式 
 193 document.styleSheets[0].rules[0] 
 194 防止点击空链接时,页面往往重置到页首端。 
 195 <a href="javascript:function()">word</a> 
 196 上一网页源 
 197 asp: 
 198 request.servervariables("HTTP_REFERER") 
 199 javascript: 
 200 document.referrer 
 201 释放内存 
 202 CollectGarbage(); 
 203 禁止右键 
 204 document.oncontextmenu = function() { return false;} 
 205 禁止保存 
 206 <noscript><iframe src="*.htm"></iframe></noscript> 
 207 禁止选取<body Shortcut Icon" href="favicon.ico"> 
 208 favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下 
 209 收藏栏图标 
 210 <link rel="Bookmark" href="favicon.ico"> 
 211 查看源码 
 212 <input type=button value=查看网页源代码 > 
 213 关闭输入法 
 214 <input style="ime-mode:disabled"> 
 215 自动全选 
 216 <input type=text name=text1 value="123" > 
 217 ENTER键可以让光标移到下一个输入框 
 218 <input > 
 219 文本框的默认值 
 220 <input type=text value="123" > 
 221 title换行 
 222 obj.title = "123 sdfs " 
 223 获得时间所代表的微秒 
 224 var n1 = new Date("2004-10-10".replace(/-/g, "\/")).getTime() 
 225 窗口是否关闭 
 226 win.closed 
 227 
 228 checkbox扁平 
 229 <input type=checkbox style="position: absolute; clip:rect(5px 15px 15px 5px)"><br> 
 230 获取选中内容 
 231 document.selection.createRange().duplicate().text 
 232 自动完成功能 
 233 <input type=text autocomplete=on>打开该功能 
 234 <input type=text autocomplete=off>关闭该功能 
 235 关闭窗口 
 236 window.close(); 
 237 返回 
 238 history.back(); 
 239 无关闭按钮IE window.open("aa.htm", "meizz", "fullscreen=7"); 
 240 统一编码/解码 alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe"))) 
 241 encodeURIComponent对":"、"/"、";" 和 "?"也编码 
 242 高级应用(一) 
 243 
 244 页面跳转: 
 245   window.location.href('地址') 
 246   window.open('地址', '_self') 
 247 打开新窗口: 
 248   window.open('地址', '_blank') 
 249   只显示地址栏:window.open('地址', 'title', 'location=1, height=200, width=500') 
 250   只显示状态栏:window.open('地址', 'title', 'status=1') 
 251   只显示工具栏:window.open('地址', 'title', 'toolbar=1') 
 252   只显示菜单栏:window.open('地址', 'title', 'menubar=1') 
 253   一个不少:window.open('地址', 'title) 
 254   光棍但可以调整大小:window.open('地址', 'title', 'resizable=1') 
 255 去掉所有空格: 
 256   Object.replace(/^\s+|\s+$/g, "") 
 257 屏蔽鼠标: 
 258   οncοntextmenu="window.event.returnValue=false" 
 259 取消选取: 
 260   onselectstart="return false" 
 261 不允许粘贴: 
 262   οnpaste="return false" 
 263 关闭输入法: 
 264   <input style="ime-mode:disabled"> 
 265 不允许另存为: 
 266   <noscript><iframe src=*.html></iframe></noscript> 
 267 得到上一页来源: 
 268   document.referrer 
 269 弹出窗口总在最上: 
 270   <body > 
 271 弹出确认对话框: 
 272   comfirm('文本')" 
 273   <script>if(confirm('文本')){//确定}else{//取消} 
 274 回车转换Tab键: 
 275   if(window.event.keyCode==13){event.keyCode=9} 
 276 返回上一页: 
 277   history.go(-1) 
 278 重新加载页面: 
 279   window.location.reload() 
 280 子页面中调父页面中的方法: 
 281   window.opener.function() 
 282 子页面中访问父页面中名为name的控件值: 
 283   window.opener.name.value 
 284 子页面中访问父页面中表单中名为name的控件值: 
 285   window.opener.formName.nam.value 
 286 得到控件的绝对位置: 
 287   function getIE() { 
 288     var t = e.offsetTop; 
 289     var l = e.offsetLeft; 
 290     while (e = e.offsetParent) { 
 291       t += e.offsetTop; 
 292       l += e.offsetLeft; 
 293     } 
 294     alert("top=" + t + " and left=" + l); 
 295   } 
 296 光标停在文本框文字的最后: 
 297   function toEnd() { 
 298     var e = event.srcElement; 
 299     var r = e.createTextRange(); 
 300     r.moveStart("character", e.value.length); 
 301     r.collapse(true); 
 302     r.select(); 
 303   } 
 304   <input type="text" value="end" > 
 305 屏蔽功能键(Shift, Alt, Ctrl) 
 306   function testKey() { 
 307     if (event.shiftKey) {  // altKey; ctrlKey 
 308       alert("Shift"); 
 309     } 
 310   } 
 311 不要滚动条: 
 312   <body scroll="no"> 
 313 让竖条没有: 
 314   <body style="overflow:scroll; overflow-y: hidden"> 
 315 让横条没有: 
 316   <body style="overflow:scroll; overflow-x: hidden"> 
 317 去掉图片链接点击后图片周围的虚线: 
 318   <a href="#" ><img src="test.jpg"></a> 
 319 在子窗体中刷新父窗体: 
 320   window.opener.location.reload() 
 321 设置打开窗口的大小: 
 322   <body 100)"> 
 323 设置打开窗口的位置: 
 324   <body 100)"> 
 325 得到窗体大小: 
 326   document.body.clientWidth; 
 327   document.body.clientHeight; 
 328 TEXTAREA自适应文字行数: 
 329   <textarea rows="1" cols="17" onpropertychange="this.style.posHeight=this.scrollHeight></textarea> 
 330 屏蔽脚本错误: 
 331   function killErrors() { 
 332     return true; 
 333   } 
 334   window.οnerrοr=killErrors(); 
 335 判断是否是字符: 
 336   if (/[^/x00-/xff]/g.test(str)) { 
 337     alert("有汉字"); 
 338   } else { 
 339     alert("全是字符"); 
 340   } 
 341 
 342 screen.属性: 
 343   availHeight 获取系统屏幕的工作区域高度,排除 Microsoft&reg; Windows&reg; 任务栏。 
 344   availWidth 获取系统屏幕的工作区域宽度,排除 Windows 任务栏。 
 345   bufferDepth 设置或获取用于画面外位图缓冲颜色的每像素位数。 
 346   colorDepth 获取用于目标设置或缓冲区的颜色每像素位数。 
 347   deviceXDPI 设置或获取系统屏幕水平每英寸点数(DPI)的数值。 
 348   deviceYDPI 设置或获取系统屏幕垂直每英寸点数(DPI)的数值。 
 349   fontSmoothingEnabled 获取用户是否在控制面板的显示设置中启用了圆整屏幕字体边角的选项。 
 350   height 获取屏幕的垂直分辨率。 
 351   logicalXDPI 获取系统屏幕水平每英寸点数(DPI)的常规数值。 
 352   logicalYDPI 获取系统屏幕垂直每英寸点数(DPI)的常规数值。 
 353   updateInterval 设置或获取屏幕的更新间隔。 
 354   width 获取屏幕的垂直分辨率。 
 355 
 356 得到div的height值: 
 357   div.offsetHeight(带滚动条的完整高度) 
 358   div.clientHeight(内容的高度) 
 359 
 360 //各种尺寸 
 361 
 362 s += "\r\n网页可见区域宽:"+ document.body.clientWidth; 
 363 s += "\r\n网页可见区域高:"+ document.body.clientHeight; 
 364 s += "\r\n网页可见区域高:"+ document.body.offsetWeight +" (包括边线的宽)"; 
 365 s += "\r\n网页可见区域高:"+ document.body.offsetHeight +" (包括边线的宽)"; 
 366 s += "\r\n网页正文全文宽:"+ document.body.scrollWidth; 
 367 s += "\r\n网页正文全文高:"+ document.body.scrollHeight; 
 368 s += "\r\n网页被卷去的高:"+ document.body.scrollTop; 
 369 s += "\r\n网页被卷去的左:"+ document.body.scrollLeft; 
 370 s += "\r\n网页正文部分上:"+ window.screenTop; 
 371 s += "\r\n网页正文部分左:"+ window.screenLeft; 
 372 s += "\r\n屏幕分辨率的高:"+ window.screen.height; 
 373 s += "\r\n屏幕分辨率的宽:"+ window.screen.width; 
 374 s += "\r\n屏幕可用工作区高度:"+ window.screen.availHeight; 
 375 s += "\r\n屏幕可用工作区宽度:"+ window.screen.availWidth; 
 376 
 377 //过滤数字 
 378 
 379 <input type=text οnkeypress="return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false)" οnpaste="return !clipboardData.getData('text').match(/\D/)" οndragenter="return false"> 
 380 
 381 
 382 //特殊用途 
 383 
 384 <input type=button value=导入收藏夹 οnclick="window.external.ImportExportFavorites(true,'http://localhost');"> 
 385 <input type=button value=导出收藏夹 οnclick="window.external.ImportExportFavorites(false,'http://localhost');"> 
 386 <input type=button value=整理收藏夹 οnclick="window.external.ShowBrowserUI('OrganizeFavorites', null)"> 
 387 <input type=button value=语言设置 οnclick="window.external.ShowBrowserUI('LanguageDialog', null)"> 
 388 <input type=button value=加入收藏夹 οnclick="window.external.AddFavorite('http://www.google.com/\', 'google')"> 
 389 <input type=button value=加入到频道 οnclick="window.external.addChannel('http://www.google.com/\')"> 
 390 <input type=button value=加入到频道 οnclick="window.external.showBrowserUI('PrivacySettings',null)"> 
 391 
 392 
 393 //不缓存 
 394 
 395 <META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
 396 <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> 
 397 <META HTTP-EQUIV="expires" CONTENT="0"> 
 398 
 399 
 400 //正则匹配 
 401 
 402 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 
 403 匹配双字节字符(包括汉字在内):[^\x00-\xff] 
 404 匹配空行的正则表达式:\n[\s| ]*\r 
 405 匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/ 
 406 匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数) 
 407 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 
 408 匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? 
 409 以下是例子: 
 410 利用正则表达式限制网页表单里的文本框输入内容: 
 411 用正则表达式限制只能输入中文:οnkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))" 
 412 1.用正则表达式限制只能输入全角字符: οnkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))" 
 413 2.用正则表达式限制只能输入数字:οnkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" 
 414 3.用正则表达式限制只能输入数字和英文:οnkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" 
 415 
 416 
 417 //消除图像工具栏 
 418 
 419 <IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="false"> 
 420 or 
 421 <head> 
 422 <meta http-equiv="imagetoolbar" content="no"> 
 423 </head> 
 424 
 425 
 426 //无提示关闭 
 427 
 428 function Close() 
 429 { 
 430 var ua=navigator.userAgent 
 431 var ie=navigator.appName=="Microsoft Internet Explorer"?true:false 
 432 if(ie) 
 433 { 
 434 var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE ")))) 
 435 if(IEversion< 5.5) 
 436 { 
 437 var str = '<object id=noTipClose classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">' 
 438 str += '<param name="Command" value="Close"></object>'; 
 439 document.body.insertAdjacentHTML("beforeEnd", str); 
 440 document.all.noTipClose.Click(); 
 441 } 
 442 else 
 443 { 
 444 window.opener =null; 
 445 window.close(); 
 446 } 
 447 } 
 448 else 
 449 { 
 450 window.close() 
 451 } 
 452 } 
 453 
 454 //取得控件得绝对位置(1) 
 455 
 456 <script language="javascript"> 
 457 function getoffset(e) 
 458 { 
 459 var t=e.offsetTop; 
 460 var l=e.offsetLeft; 
 461 while(e=e.offsetParent) 
 462 { 
 463 t+=e.offsetTop; 
 464 l+=e.offsetLeft; 
 465 } 
 466 var rec = new Array(1); 
 467 rec[0] = t; 
 468 rec[1] = l; 
 469 return rec 
 470 } 
 471 </script> 
 472 
 473 //获得控件的绝对位置(2) 
 474 
 475 oRect = obj.getBoundingClientRect(); 
 476 oRect.left 
 477 oRect. 
 478 
 479 
 480 //最小化,最大化,关闭 
 481 
 482 <object id=min classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> 
 483 <param name="Command" value="Minimize"></object> 
 484 <object id=max classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> 
 485 <param name="Command" value="Maximize"></object> 
 486 <OBJECT id=close classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"> 
 487 <PARAM NAME="Command" value="Close"></OBJECT> 
 488 <input type=button value=最小化 οnclick=min.Click()> 
 489 <input type=button value=最大化 οnclick=max.Click()> 
 490 <input type=button value=关闭 οnclick=close.Click()> 
 491 
 492 
 493 //光标停在文字最后 
 494 
 495 
 496 <script language="javascript"> 
 497 function cc() 
 498 { 
 499 var e = event.srcElement; 
 500 var r =e.createTextRange(); 
 501 r.moveStart('character',e.value.length); 
 502 r.collapse(true); 
 503 r.select(); 
 504 } 
 505 </script> 
 506 <input type=text name=text1 value="123" οnfοcus="cc()"> 
 507 
 508 //页面进入和退出的特效 
 509 
 510 进入页面<meta http-equiv="Page-Enter" content="revealTrans(duration=x, transition=y)"> 
 511 推出页面<meta http-equiv="Page-Exit" content="revealTrans(duration=x, transition=y)"> 
 512 这个是页面被载入和调出时的一些特效。duration表示特效的持续时间,以秒为单位。transition表示使 
 513 用哪种特效,取值为1-23: 
 514   0 矩形缩小 
 515   1 矩形扩大 
 516   2 圆形缩小 
 517   3 圆形扩大 
 518   4 下到上刷新 
 519   5 上到下刷新 
 520   6 左到右刷新 
 521   7 右到左刷新 
 522   8 竖百叶窗 
 523   9 横百叶窗 
 524   10 错位横百叶窗 
 525   11 错位竖百叶窗 
 526   12 点扩散 
 527   13 左右到中间刷新 
 528   14 中间到左右刷新 
 529   15 中间到上下 
 530   16 上下到中间 
 531   17 右下到左上 
 532   18 右上到左下 
 533   19 左上到右下 
 534   20 左下到右上 
 535   21 横条 
 536   22 竖条 
 537   23 
 538 
 539 
 540 //网页是否被检索 <meta name="ROBOTS" content="属性值"> 
 541   其中属性值有以下一些: 
 542   属性值为"all": 文件将被检索,且页上链接可被查询; 
 543   属性值为"none": 文件不被检索,而且不查询页上的链接; 
 544   属性值为"index": 文件将被检索; 
 545   属性值为"follow": 查询页上的链接; 
 546   属性值为"noindex": 文件不检索,但可被查询链接; 
 547   属性值为"nofollow": 
 548 
 549 
 550 //打印分页 <p style="page-break-after:always">page1</p> 
 551 <p style="page-break-after:always">page2</p> 
 552 
 553 //设置打印 
 554 
 555 <object id="factory" style="display:none" viewastext 
 556 classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" 
 557 codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360" 
 558 ></object> 
 559 <input type=button value=页面设置 οnclick="factory.printing.PageSetup()"> 
 560 <input type=button value=打印预览 οnclick="factory.printing.Preview()"> 
 561 
 562 <script language=javascript> 
 563 function window.onload() 
 564 { 
 565 // -- advanced features 
 566 factory.printing.SetMarginMeasure(2) // measure margins in inches 
 567 factory.printing.SetPageRange(false, 1, 3) // need pages from 1 to 3 
 568 factory.printing.printer = "HP DeskJet 870C" 
 569 factory.printing.copies = 2 
 570 factory.printing.collate = true 
 571 factory.printing.paperSize = "A4" 
 572 factory.printing.paperSource = "Manual feed" 
 573 // -- basic features 
 574 factory.printing.header = "居左显示&b居中显示&b居右显示页码,第&p页/共&P页" 
 575 factory.printing.footer = "(自定义页脚)" 
 576 factory.printing.portrait = false 
 577 factory.printing.leftMargin = 0.75 
 578 factory.printing.topMargin = 1.5 
 579 factory.printing.rightMargin = 0.75 
 580 factory.printing.bottomMargin = 1.5 
 581 } 
 582 function Print(frame) { 
 583 factory.printing.Print(true, frame) // print with prompt 
 584 } 
 585 </script> 
 586 <input type=button value="打印本页" οnclick="factory.printing.Print(false)"> 
 587 <input type=button value="页面设置" οnclick="factory.printing.PageSetup()"> 
 588 <input type=button value="打印预览" οnclick="factory.printing.Preview()"><br> 
 589 <a href="http://www.meadroid.com/scriptx/docs/printdoc.htm?static" target=_blank>具体使用手册,更多信息,点这里</a> 
 590 
 591 
 592 //自带的打印预览 
 593 WebBrowser.ExecWB(1,1) 打开 
 594 Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口 
 595 Web.ExecWB(4,1) 保存网页 
 596 Web.ExecWB(6,1) 打印 
 597 Web.ExecWB(7,1) 打印预览 
 598 Web.ExecWB(8,1) 打印页面设置 
 599 Web.ExecWB(10,1) 查看页面属性 
 600 Web.ExecWB(15,1) 好像是撤销,有待确认 
 601 Web.ExecWB(17,1) 全选 
 602 Web.ExecWB(22,1) 刷新 
 603 Web.ExecWB(45,1) 关闭窗体无提示 
 604 <style media=print> 
 605 .Noprint{display:none;}<!--用本样式在打印时隐藏非打印项目--> 
 606 .PageNext{page-break-after: always;}<!--控制分页--> 
 607 </style> 
 608 <object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"> 
 609 </object> 
 610 
 611 <center class="Noprint" > 
 612 <input type=button value=打印 οnclick=document.all.WebBrowser.ExecWB(6,1)> 
 613 <input type=button value=直接打印 οnclick=document.all.WebBrowser.ExecWB(6,6)> 
 614 <input type=button value=页面设置 οnclick=document.all.WebBrowser.ExecWB(8,1)> 
 615 </p> 
 616 <p> <input type=button value=打印预览 οnclick=document.all.WebBrowser.ExecWB(7,1)> 
 617 </center> 
 618 
 619 //去掉打印时的页眉页脚 
 620 
 621 <script language="JavaScript"> 
 622 var HKEY_Root,HKEY_Path,HKEY_Key; 
 623 HKEY_Root="HKEY_CURRENT_USER"; 
 624 HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\"; 
 625 //设置网页打印的页眉页脚为空 
 626 function PageSetup_Null() 
 627 { 
 628 try 
 629 { 
 630 var Wsh=new ActiveXObject("WScript.Shell"); 
 631 HKEY_Key="header"; 
 632 Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,""); 
 633 HKEY_Key="footer"; 
 634 Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,""); 
 635 } 
 636 catch(e){} 
 637 } 
 638 //设置网页打印的页眉页脚为默认值 
 639 function PageSetup_Default() 
 640 { 
 641 try 
 642 { 
 643 var Wsh=new ActiveXObject("WScript.Shell"); 
 644 HKEY_Key="header"; 
 645 Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P"); 
 646 HKEY_Key="footer"; 
 647 Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d"); 
 648 } 
 649 catch(e){} 
 650 } 
 651 </script> 
 652 <input type="button" value="清空页码" οnclick=PageSetup_Null()> 
 653 <input type="button" value="恢复页码" οnclick=PageSetup_Default()> 
 654 
 655 
 656 //浏览器验证 
 657 
 658 function checkBrowser() 
 659 { 
 660 this.ver=navigator.appVersion 
 661 this.dom=document.getElementById?1:0 
 662 this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0; 
 663 this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0; 
 664 this.ie4=(document.all && !this.dom)?1:0; 
 665 this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
 666 this.ns4=(document.layers && !this.dom)?1:0; 
 667 this.mac=(this.ver.indexOf('Mac') > -1) ?1:0; 
 668 this.ope=(navigator.userAgent.indexOf('Opera')>-1); 
 669 this.ie=(this.ie6 || this.ie5 || this.ie4) 
 670 this.ns=(this.ns4 || this.ns5) 
 671 this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns5 || this.ns4 || this.mac || this.ope) 
 672 this.nbw=(!this.bw) 
 673 return this; 
 674 } 
 675 
 676 
 677 //计算内容宽和高 
 678 
 679 <SCRIPT language="javascript"> 
 680 function test(obj) 
 681 { 
 682 var range = obj.createTextRange(); 
 683 alert("内容区宽度: " + range.boundingWidth 
 684 + "px\r\n内容区高度: " + range.boundingHeight + "px"); 
 685 } 
 686 </SCRIPT> 
 687 <BODY> 
 688 <Textarea id="txt" height="150">sdf</textarea><INPUT type="button" value="计算内容宽度" onClick="test(txt)"> 
 689 </BODY> 
 690 
 691 //无模式的提示框 function modelessAlert(Msg) 
 692 { 
 693 window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;"); 
 694 } 
 695 
 696 //屏蔽按键 
 697 <html> 
 698 <head> 
 699 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
 700 <noscript><meta http-equiv="refresh" content="0;url=about:noscript"></noscript> 
 701 <title>屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键</title> 
 702 </head> 
 703 <body> 
 704 <script language="Javascript"><!-- 
 705 //屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键 
 706 //Author: meizz(梅花雨) 2002-6-18 
 707 function document.oncontextmenu(){event.returnValue=false;}//屏蔽鼠标右键 
 708 function window.onhelp(){return false} //屏蔽F1帮助 
 709 function document.onkeydown() 
 710 { 
 711 if ((window.event.altKey)&& 
 712 ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ← 
 713 (window.event.keyCode==39))) //屏蔽 Alt+ 方向键 → 
 714 { 
 715 alert("不准你使用ALT+方向键前进或后退网页!"); 
 716 event.returnValue=false; 
 717 } 
 718 /* 注:这还不是真正地屏蔽 Alt+ 方向键, 
 719 因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放, 
 720 用鼠标点掉警告框,这种屏蔽方法就失效了。以后若 
 721 有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/ 
 722 if ((event.keyCode==8) || //屏蔽退格删除键 
 723 (event.keyCode==116)|| //屏蔽 F5 刷新键 
 724 (event.ctrlKey && event.keyCode==82)){ //Ctrl + R 
 725 event.keyCode=0; 
 726 event.returnValue=false; 
 727 } 
 728 if (event.keyCode==122){event.keyCode=0;event.returnValue=false;} //屏蔽F11 
 729 if (event.ctrlKey && event.keyCode==78) event.returnValue=false; //屏蔽 Ctrl+n 
 730 if (event.shiftKey && event.keyCode==121)event.returnValue=false; //屏蔽 shift+F10 
 731 if (window.event.srcElement.tagName == "A" && window.event.shiftKey) 
 732 window.event.returnValue = false; //屏蔽 shift 加鼠标左键新开一网页 
 733 if ((window.event.altKey)&&(window.event.keyCode==115)) //屏蔽Alt+F4 
 734 { 
 735 window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px"); 
 736 return false; 
 737 } 
 738 } 
 739 </script> 
 740 屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键 
 741 </body> 
 742 </html> 
 743 
 744 
 745 //屏蔽打印 
 746 <style> 
 747 @media print{ 
 748 * {display:none} 
 749 } 
 750 </style> 
 751 
 752 
 753 //移动的图层,拖动 
 754 
 755 1.<span style='position:absolute;width:200;height:200;background:red' οnmοusedοwn=MouseDown(this) οnmοusemοve=MouseMove() οnmοuseup=MouseUp()>meizz</span> 
 756 <script language=javascript> 
 757 var Obj; 
 758 function MouseDown(obj) 
 759 { 
 760 Obj=obj; 
 761 Obj.setCapture(); 
 762 Obj.l=event.x-Obj.style.pixelLeft; 
 763 Obj.t=event.y-Obj.style.pixelTop; 
 764 } 
 765 function MouseMove() 
 766 { 
 767 if(Obj!=null) 
 768 { 
 769 Obj.style.left = event.x-Obj.l; 
 770 Obj.style.top = event.y-Obj.t; 
 771 } 
 772 } 
 773 function MouseUp() 
 774 { 
 775 if(Obj!=null) 
 776 { 
 777 Obj.releaseCapture(); 
 778 Obj=null; 
 779 } 
 780 } 
 781 </script> 
 782 2. 
 783 <div id="myDiv" src="logo.gif" οndrag="doDrag();" οnmοuseοver="this.style.cursor='hand'" style="position:absolute;left=100;top=100;" οnmοusedοwn="doMouseDown();"> 
 784 <a href="#" οnclick="return false"><h1>wlecome</h1></a> 
 785 </div> 
 786 <script language="JavaScript" type="text/javascript"> 
 787 var orgMouseX; 
 788 var orgMouseY; 
 789 var orgObjX; 
 790 var orgObjY; 
 791 function doDrag() 
 792 { 
 793 var myObject=document.all.myDiv; 
 794 
 795 var x=event.clientX; 
 796 var y=event.clientY; 
 797 myObject.style.left=x-(orgMouseX-orgObjX); 
 798 myObject.style.top=y-(orgMouseY-orgObjY); 
 799 
 800 } 
 801 function doMouseDown() 
 802 { 
 803 orgMouseX=event.clientX; 
 804 orgMouseY=event.clientY; 
 805 orgObjX=parseInt(document.all.myDiv.style.left); 
 806 orgObjY=parseInt(document.all.myDiv.style.top); 
 807 } 
 808 
 809 </script> 
 810 
 811 //文档状态改变 
 812 
 813 <iframe src="a.html" id="f" name="f" scrolling="no" frameborder=0 marginwidth=0 marginheight=0></iframe> 
 814 <script> 
 815 var doc=window.frames["f"].document; 
 816 function s(){ 
 817 if (doc.readyState=="complete"){ 
 818 document.all.f.style.height=doc.body.scrollHeight 
 819 document.all.f.style.width=doc.body.scrollWidth 
 820 } 
 821 } 
 822 doc.onreadystatechange=s 
 823 </script> 
 824 
 825 
 826 //刷新后不变的文本框 <HTML> 
 827 <HEAD> 
 828 <META NAME="save" CONTENT="history"> 
 829 <STYLE> 
 830 .sHistory {behavior:url(#default#savehistory);} 
 831 </STYLE> 
 832 </HEAD> 
 833 <BODY> 
 834 <INPUT class="sHistory" type=text id=oPersistInput> 
 835 </BODY> 
 836 </HTML> 
 837 
 838 //访问剪贴板 
 839 
 840 event.dataTransfer.setData("URL", oImage.src); 
 841 sImageURL = event.dataTransfer.getData("URL") 
 842 (2)普通访问 
 843 window.clipboardData.setData("Text",oSource.innerText); 
 844 window.clipboardData.getData("Text"); 
 845 
 846 
 847 //操作COOKIE 
 848 
 849 function SetCookie(sName, sValue) 
 850 { 
 851 document.cookie = sName + "=" + escape(sValue) + "; "; 
 852 } 
 853 function GetCookie(sName) 
 854 { 
 855 var aCookie = document.cookie.split("; "); 
 856 for (var i=0; i < aCookie.length; i++) 
 857 { 
 858 
 859 var aCrumb = aCookie.split("="); 
 860 if (sName == aCrumb[0]) 
 861 return unescape(aCrumb[1]); 
 862 } 
 863 
 864 } 
 865 function DelCookie(sName) 
 866 { 
 867 document.cookie = sName + "=" + escape(sValue) + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;"; 
 868 } 
 869 
 870 
 871 //setTimeout增加参数 
 872 
 873 <script> 
 874 var _st = window.setTimeout; 
 875 window.setTimeout = function(fRef, mDelay) { 
 876 if(typeof fRef == 'function'){ 
 877 var argu = Array.prototype.slice.call(arguments,2); 
 878 var f = (function(){ fRef.apply(null, argu); }); 
 879 return _st(f, mDelay); 
 880 } 
 881 return _st(fRef,mDelay); 
 882 } 
 883 function test(x){ 
 884 alert(x); 
 885 } 
 886 window.setTimeout(test,1000,'fason'); 
 887 </script> 
 888 
 889 
 890 //自定义的apply,call 
 891 
 892 Function.prototype.apply = function (obj, argu) { 
 893 if (obj) obj.constructor.prototype._caller = this; 
 894 var argus = new Array(); 
 895 for (var i=0;i<argu.length;i++) 
 896 argus = "argu[" + i + "]"; 
 897 var r; 
 898 eval("r = " + (obj ? ("obj._caller(" + argus.join(",") + ");") : ("this(" + argus.join(",") + ");"))); 
 899 return r; 
 900 }; 
 901 Function.prototype.call = function (obj) { 
 902 var argu = new Array(); 
 903 for (var i=1;i<arguments.length;i++) 
 904 argu[i-1] = arguments; 
 905 return this.apply(obj, argu); 
 906 }; 
 907 
 908 //下载文件 
 909 
 910 function DownURL(strRemoteURL,strLocalURL) 
 911 { 
 912 try 
 913 { 
 914 var xmlHTTP=new ActiveXObject("Microsoft.XMLHTTP"); 
 915 xmlHTTP.open("Get",strRemoteURL,false); 
 916 xmlHTTP.send(); 
 917 var adodbStream=new ActiveXObject("ADODB.Stream"); 
 918 adodbStream.Type=1;//1=adTypeBinary 
 919 adodbStream.Open(); 
 920 adodbStream.write(xmlHTTP.responseBody); 
 921 adodbStream.SaveToFile(strLocalURL,2); 
 922 adodbStream.Close(); 
 923 adodbStream=null; 
 924 xmlHTTP=null; 
 925 
 926 } 
 927 catch(e) 
 928 { 
 929 window.confirm("下载URL出错!"); 
 930 } 
 931 //window.confirm("下载完成."); 
 932 } 
 933 
 934 //检验连接是否有效 
 935 
 936 function getXML(URL) 
 937 { 
 938 var xmlhttp = new ActiveXObject("microsoft.xmlhttp"); 
 939 xmlhttp.Open("GET",URL, false); 
 940 try 
 941 { 
 942 xmlhttp.Send(); 
 943 } 
 944 catch(e){} 
 945 finally 
 946 { 
 947 var result = xmlhttp.responseText; 
 948 if(result) 
 949 { 
 950 if(xmlhttp.Status==200) 
 951 { 
 952 return(true); 
 953 } 
 954 else 
 955 { 
 956 return(false); 
 957 } 
 958 } 
 959 else 
 960 { 
 961 return(false); 
 962 } 
 963 } 
 964 } 
 965 
 966 //POST代替FORM 
 967 
 968 <SCRIPT language="VBScript"> 
 969 Function URLEncoding(vstrIn) 
 970 strReturn = "" 
 971 For i = 1 To Len(vstrIn) 
 972 ThisChr = Mid(vStrIn,i,1) 
 973 If Abs(Asc(ThisChr)) < &HFF Then 
 974 strReturn = strReturn & ThisChr 
 975 Else 
 976 innerCode = Asc(ThisChr) 
 977 If innerCode < 0 Then 
 978 innerCode = innerCode + &H10000 
 979 End If 
 980 Hight8 = (innerCode And &HFF00)\ &HFF 
 981 Low8 = innerCode And &HFF 
 982 strReturn = strReturn & "%" & Hex(Hight8) & "%" & Hex(Low8) 
 983 End If 
 984 Next 
 985 URLEncoding = strReturn 
 986 End Function 
 987 Function bytes2BSTR(vIn) 
 988 strReturn = "" 
 989 For i = 1 To LenB(vIn) 
 990 ThisCharCode = AscB(MidB(vIn,i,1)) 
 991 If ThisCharCode < &H80 Then 
 992 strReturn = strReturn & Chr(ThisCharCode) 
 993 Else 
 994 NextCharCode = AscB(MidB(vIn,i+1,1)) 
 995 strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) 
 996 i = i + 1 
 997 End If 
 998 Next 
 999 bytes2BSTR = strReturn 
1000 End Function 
1001 dim strA,oReq 
1002 strA = URLEncoding("submit1=Submit&text1=中文") 
1003 set oReq = CreateObject("MSXML2.XMLHTTP") 
1004 oReq.open "POST","http://ServerName/VDir/TstResult.asp",false 
1005 oReq.setRequestHeader "Content-Length",Len(strA) 
1006 oReq.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded" 
1007 oReq.send strA 
1008 msgbox bytes2BSTR(oReq.responseBody) 
1009 </SCRIPT> 
1010 
1011 //readyState是xmlhttp返回数据的进度,0=载入中,1=未初始化,2=已载入,3=运行中,4=完成 
1012 
1013 
1014 高级应用(二) 
1015 
1016 
1017 //组件是否安装 
1018 
1019 isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}", "componentID")) 
1020 
1021 //检查网页是否存在 
1022 
1023 function CheckURL(URL) 
1024 { 
1025 var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
1026 xmlhttp.Open("GET",URL, false); 
1027 try 
1028 { 
1029 xmlhttp.Send(); 
1030 var result = xmlhttp.status; 
1031 } 
1032 catch(e) {return(false); } 
1033 if(result==200) 
1034 { 
1035 return true; 
1036 } 
1037 xmlhttp = null; 
1038 return false; 
1039 } 
1040 
1041 
1042 //连接数据库 
1043 
1044 <script language="javascript"> 
1045 //用 JavaScript 写服务器端连接数据库的代码示例 
1046 var conn = new ActiveXObject("ADODB.Connection"); 
1047 conn.Open("Provider=SQLOLEDB.1; Data Source=localhost; User ID=sa; " 
1048 +"Password=; Initial Catalog=pubs"); 
1049 var rs = new ActiveXObject("ADODB.Recordset"); 
1050 var sql="select * from authors"; 
1051 rs.open(sql, conn); 
1052 shtml = "<table width='100%' border=1>"; 
1053 shtml +="<tr bgcolor='#f4f4f4'><td>au_id</td><td>au_lname</td><td>au_fname</td><td>phone</td><td>address</td><td> city</td><td>state</td><td>zip</td></tr>"; 
1054 while(!rs.EOF) 
1055 { 
1056 shtml += "<tr><td>" + rs("au_id") + "</td><td>" + rs("au_lname") + "</td><td>" + rs("au_fname") + "</td><td>" + rs("phone") + "</td><td>" + rs("address") + "</td><td>" + rs("city") + "</td><td>" + rs("state") + "</td><td>" + rs("zip") + "</td></tr>"; 
1057 rs.moveNext; 
1058 } 
1059 shtml += "</table>"; 
1060 document.write(shtml); 
1061 rs.close(); 
1062 rs = null; 
1063 conn.close(); 
1064 conn = null; 
1065 </script> 
1066 
1067 
1068 //使用数据岛 
1069 
1070 <html> 
1071 <body> 
1072 srno:<input type=text datasrc=#xmldate DataFLD=srno size="76"><BR> 
1073 times:<input type=text datasrc=#xmldate DataFLD=times size="76"><BR> 
1074 <input id="first" TYPE=button value="<< 第一条记录" οnclick="xmldate.recordset.moveFirst()"> 
1075 <input id="prev" TYPE=button value="<上一条记录" οnclick="xmldate.recordset.movePrevious()"> 
1076 <input id="next" TYPE=button value="下一条记录>" οnclick="xmldate.recordset.moveNext()"> 
1077 <input id="last" TYPE=button value="最后一条记录>>" οnclick="xmldate.recordset.moveLast()"> 
1078 <input id="Add" TYPE=button value="添加新记录" οnclick="xmldate.recordset.addNew()"> 
1079 
1080 <XML ID="xmldate"> 
1081 <infolist> 
1082 <info ><srno>20041025-01</srno><times>null</times></info> 
1083 <info ><srno>20041101-09</srno><times>2004年10月1日2点22分0秒</times></info> 
1084 </infolist> 
1085 </XML> 
1086 </body> 
1087 </html> 
1088 
1089 
1090 //获得参数 
1091 
1092 <body> 
1093 <a href="javascript:location.href=location.href + '?a=1&b=2'">search</a> 
1094 <script language="JavaScript"> 
1095 <!-- 
1096 var a = location.search.substr(1); 
1097 if(a.length>0) 
1098 { 
1099 var re = /([^&]*?)\=([^&]*)/g 
1100 var s = a.match(re); 
1101 for(var i= 0;i<s.length;i++) 
1102 { 
1103 alert(s); 
1104 alert(s.split("=")[1]); 
1105 } 
1106 } 
1107 //--> 
1108 </script> 
1109 </body> 
1110 
1111 //可编辑SELECT 
1112 
1113 <input type=text name=re_name style="width:100px;height:21px;font-size:10pt;"><span style="width:18px;border:0px solid red;"><select name="r00" style="margin-left:-100px;width:118px; background-color:#FFEEEE;" onChange="document.all.re_name.value=this.value;"> 
1114 <option value="1">11111111<option> 
1115 <option value="2">222222</option> 
1116 <option value="3">333333</option> 
1117 </select> 
1118 </span> 
1119 
1120 //设置光标位置 
1121 
1122 function getCaret(textbox) 
1123 { 
1124 var control = document.activeElement; 
1125 textbox.focus(); 
1126 var rang = document.selection.createRange(); 
1127 rang.setEndPoint("StartToStart",textbox.createTextRange()) 
1128 control.focus(); 
1129 return rang.text.length; 
1130 } 
1131 function setCaret(textbox,pos) 
1132 { 
1133 try 
1134 { 
1135 var r =textbox.createTextRange(); 
1136 r.moveStart('character',pos); 
1137 r.collapse(true); 
1138 r.select(); 
1139 } 
1140 catch(e) 
1141 {} 
1142 } 
1143 function selectLength(textbox,start,len) 
1144 { 
1145 try 
1146 { 
1147 var r =textbox.createTextRange(); 
1148 
1149 r.moveEnd('character',len-(textbox.value.length-start)); 
1150 r.moveStart('character',start); 
1151 
1152 r.select(); 
1153 } 
1154 catch(e) 
1155 {//alert(e.description)} 
1156 } 
1157 function insertAtCaret(textbox,text) 
1158 { 
1159 textbox.focus(); 
1160 document.selection.createRange().text = text; 
1161 } 
1162 
1163 //页内查找 
1164 
1165 function findInPage(str) 
1166 { 
1167 var txt, i, found,n = 0; 
1168 if (str == "") 
1169 { 
1170 return false; 
1171 } 
1172 txt = document.body.createTextRange(); 
1173 for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) 
1174 { 
1175 txt.moveStart("character", 1); 
1176 txt.moveEnd("textedit"); 
1177 } 
1178 if (found) 
1179 { 
1180 txt.moveStart("character", -1); 
1181 txt.findText(str); 
1182 txt.select(); 
1183 txt.scrollIntoView(); 
1184 n++; 
1185 } 
1186 else 
1187 { 
1188 if (n > 0) 
1189 { 
1190 n = 0; 
1191 findInPage(str); 
1192 } 
1193 else 
1194 { 
1195 alert(str + "... 您要找的文字不存在。\n \n请试着输入页面中的关键字再次查找!"); 
1196 } 
1197 } 
1198 return false; 
1199 } 
1200 
1201 
1202 //操作EXECL 
1203 
1204 <script language="javascript"> 
1205 function jStartExcel() { 
1206 var xls = new ActiveXObject ( "Excel.Application" ); 
1207 xls.visible = true; 
1208 var newBook = xls.Workbooks.Add; 
1209 newBook.Worksheets.Add; 
1210 newBook.Worksheets(1).Activate; 
1211 xls.ActiveWorkBook.ActiveSheet.PageSetup.Orientation = 2; 
1212 xls.ActiveWorkBook.ActiveSheet.PageSetup.PaperSize = 5; 
1213 newBook.Worksheets(1).Columns("A").columnwidth=50; 
1214 newBook.Worksheets(1).Columns("A").WrapText = true; 
1215 newBook.Worksheets(1).Columns("B").columnwidth=50; 
1216 newBook.Worksheets(1).Columns("B").WrapText = true; 
1217 newBook.Worksheets(1).Range("A1:B1000").NumberFormat = "0"; 
1218 newBook.Worksheets(1).Range("A1:B1000").HorizontalAlignment = -4131; 
1219 newBook.Worksheets(1).Cells(1,1).Interior.ColorIndex="15"; 
1220 newBook.Worksheets(1).Cells(1,1).value="First Column, First Cell"; 
1221 newBook.Worksheets(1).Cells(2,1).value="First Column, Second Cell"; 
1222 newBook.Worksheets(1).Cells(1,2).value="Second Column, First Cell"; 
1223 newBook.Worksheets(1).Cells(2,2).value="Second Column, Second Cell"; 
1224 newBook.Worksheets(1).Name="My First WorkSheet"; 
1225 } 
1226 </script> 
1227 
1228 
1229 //自定义提示条 
1230 
1231 <a href="#" title="这是提示">tip</a> 
1232 <script Language="JavaScript"> 
1233 //***********默认设置定义.********************* 
1234 tPopWait=50;//停留tWait豪秒后显示提示。 
1235 tPopShow=5000;//显示tShow豪秒后关闭提示 
1236 showPopStep=20; 
1237 popOpacity=99; 
1238 //***************内部变量定义***************** 
1239 sPop=null; 
1240 curShow=null; 
1241 tFadeOut=null; 
1242 tFadeIn=null; 
1243 tFadeWaiting=null; 
1244 document.write("<style type='text/css'id='defaultPopStyle'>"); 
1245 document.write(".cPopText { background-color: #F8F8F5;color:#000000; border: 1px #000000 solid;font-color: font-size: 12px; padding-right: 4px; padding-left: 4px; height: 20px; padding-top: 2px; padding-bottom: 2px; filter: Alpha(Opacity=0)}"); 
1246 document.write("</style>"); 
1247 document.write("<div id='dypopLayer' style='position:absolute;z-index:1000;' class='cPopText'></div>"); 
1248 
1249 function showPopupText(){ 
1250 var o=event.srcElement; 
1251 MouseX=event.x; 
1252 MouseY=event.y; 
1253 if(o.alt!=null && o.alt!=""){o.dypop=o.alt;o.alt=""}; 
1254 if(o.title!=null && o.title!=""){o.dypop=o.title;o.title=""}; 
1255 if(o.dypop!=sPop) { 
1256 sPop=o.dypop; 
1257 clearTimeout(curShow); 
1258 clearTimeout(tFadeOut); 
1259 clearTimeout(tFadeIn); 
1260 clearTimeout(tFadeWaiting); 
1261 if(sPop==null || sPop=="") { 
1262 dypopLayer.innerHTML=""; 
1263 dypopLayer.style.filter="Alpha()"; 
1264 dypopLayer.filters.Alpha.opacity=0; 
1265 } 
1266 else { 
1267 if(o.dyclass!=null) popStyle=o.dyclass 
1268 else popStyle="cPopText"; 
1269 curShow=setTimeout("showIt()",tPopWait); 
1270 } 
1271 } 
1272 } 
1273 function showIt(){ 
1274 dypopLayer.className=popStyle; 
1275 dypopLayer.innerHTML=sPop; 
1276 popWidth=dypopLayer.clientWidth; 
1277 popHeight=dypopLayer.clientHeight; 
1278 if(MouseX+12+popWidth>document.body.clientWidth) popLeftAdjust=-popWidth-24 
1279 else popLeftAdjust=0; 
1280 if(MouseY+12+popHeight>document.body.clientHeight) popTopAdjust=-popHeight-24 
1281 else popTopAdjust=0; 
1282 dypopLayer.style.left=MouseX+12+document.body.scrollLeft+popLeftAdjust; 
1283 dypopLayer.style.top=MouseY+12+document.body.scrollTop+popTopAdjust; 
1284 dypopLayer.style.filter="Alpha(Opacity=0)"; 
1285 fadeOut(); 
1286 } 
1287 function fadeOut(){ 
1288 if(dypopLayer.filters.Alpha.opacity<popOpacity) { 
1289 dypopLayer.filters.Alpha.opacity+=showPopStep; 
1290 tFadeOut=setTimeout("fadeOut()",1); 
1291 } 
1292 else { 
1293 dypopLayer.filters.Alpha.opacity=popOpacity; 
1294 tFadeWaiting=setTimeout("fadeIn()",tPopShow); 
1295 } 
1296 } 
1297 function fadeIn(){ 
1298 if(dypopLayer.filters.Alpha.opacity>0) { 
1299 dypopLayer.filters.Alpha.opacity-=1; 
1300 tFadeIn=setTimeout("fadeIn()",1); 
1301 } 
1302 } 
1303 document.οnmοuseοver=showPopupText; 
1304 </script> 
1305 
1306 
1307 //插入文字 
1308 
1309 document.onclick =function(){ 
1310 var oSource = window.event.srcElement; 
1311 if(oSource.tagName!="DIV") 
1312 return false; 
1313 var sel = document.selection; 
1314 if (sel!=null) { 
1315 var rng = sel.createRange(); 
1316 if (rng!=null) 
1317 rng.pasteHTML("<font color=red>插入文字</font>"); 
1318 } 
1319 } 
1320 
1321 //netscapte下操作xml 
1322 
1323 doc = new ActiveXObject("Msxml2.DOMDocument"); 
1324 doc = new ActiveXObject("Microsoft.XMLDOM") 
1325 ->> 
1326 doc = (new DOMParser()).parseFromString(sXML,'text/xml') 
1327 
1328 
1329 //禁止FSO 
1330 
1331 1.注销组件 
1332 regsvr32 /u scrrun.dll 
1333 2.修改PROGID 
1334 HKEY_CLASSES_ROOT\Scripting.FileSystemObject 
1335 Scripting.FileSystemObject 
1336 3.对于使用object的用户,修改HKEY_CLASSES_ROOT\Scripting. 
1337 
1338 
1339 //省略号 
1340 
1341 <DIV STYLE="width: 120px; height: 50px; border: 1px solid blue; 
1342 overflow: hidden; text-overflow:ellipsis"> 
1343 <NOBR>就是比如有一行文字,很长,表格内一行显示不下.</NOBR> 
1344 </DIV> 
1345 
1346 
1347 //判断键值 
1348 
1349 <html> 
1350 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
1351 <head> 
1352 <script language="javascript"> 
1353 var ie =navigator.appName=="Microsoft Internet Explorer"?true:false; 
1354 
1355 function keyDown(e) 
1356 { 
1357 if(!ie) 
1358 { 
1359 var nkey=e.which; 
1360 var iekey='现在是ns浏览器'; 
1361 var realkey=String.fromCharCode(e.which); 
1362 } 
1363 if(ie) 
1364 { 
1365 var iekey=event.keyCode; 
1366 var nkey='现在是ie浏览器'; 
1367 var realkey=String.fromCharCode(event.keyCode); 
1368 if(event.keyCode==32){realkey='\' 空格\''} 
1369 if(event.keyCode==13){realkey='\' 回车\''} 
1370 if(event.keyCode==27){realkey='\' Esc\''} 
1371 if(event.keyCode==16){realkey='\' Shift\''} 
1372 if(event.keyCode==17){realkey='\' Ctrl\''} 
1373 if(event.keyCode==18){realkey='\' Alt\''} 
1374 } 
1375 alert('ns浏览器中键值:'+nkey+'\n'+'ie浏览器中键值:'+iekey+'\n'+'实际键为'+realkey); 
1376 } 
1377 document.onkeydown = keyDown; 
1378 </script> 
1379 </head> 
1380 <body> 
1381 //Javascript Document. 
1382 <hr> 
1383 <center> 
1384 <h3>请按任意一个键。。。。</h3> 
1385 </center> 
1386 </body> 
1387 </html> 
1388 
1389 //检测media play版本 
1390 
1391 <IE:clientCaps ID="oClientCaps" style="{behavior:url(#default#clientcaps)}" /> 
1392 <SCRIPT> 
1393 var flash=""; 
1394 WMPVersion= oClientCaps.getComponentVersion("{22D6F312-B0F6-11D0-94AB-0080C74C7E95}","ComponentID"); 
1395 if (WMPVersion != "") { 
1396 flash = ""; 
1397 var version = WMPVersion.split(","); 
1398 var i; 
1399 for (i = 0; i < version.length; i++) { 
1400 if (i != 0) 
1401 flash += "."; 
1402 flash += version; 
1403 } 
1404 document.write("您的Windows Media Player 版本是:"+flash+"<p>"); 
1405 } 
1406 </SCRIPT> 
1407 
1408 //图象按比例 
1409 
1410 <script language="JavaScript"> 
1411 <!-- 
1412 //图片按比例缩放 
1413 var flag=false; 
1414 function DrawImage(ImgD){ 
1415 var image=new Image(); 
1416 var iwidth = 80; //定义允许图片宽度 
1417 var iheight = 80; //定义允许图片高度 
1418 image.src=ImgD.src; 
1419 if(image.width>0 && image.height>0){ 
1420 flag=true; 
1421 if(image.width/image.height>= iwidth/iheight){ 
1422 if(image.width>iwidth){ 
1423 ImgD.width=iwidth; 
1424 ImgD.height=(image.height*iwidth)/image.width; 
1425 }else{ 
1426 ImgD.width=image.width; 
1427 ImgD.height=image.height; 
1428 } 
1429 ImgD.alt=image.width+"×"+image.height; 
1430 } 
1431 else{ 
1432 if(image.height>iheight){ 
1433 ImgD.height=iheight; 
1434 ImgD.width=(image.width*iheight)/image.height; 
1435 }else{ 
1436 ImgD.width=image.width; 
1437 ImgD.height=image.height; 
1438 } 
1439 ImgD.alt=image.width+"×"+image.height; 
1440 } 
1441 } 
1442 } 
1443 //--> 
1444 </script> 
1445 <img src=".." onload = "DrawImage(this)"> 
1446 
1447 //细线SELECT 
1448 
1449 <span style="border:1px solid #000000; position:absolute; overflow:hidden;" > 
1450 <select style="margin:-2px;"> 
1451 <option>1111</option> 
1452 <option>11111111111111</option> 
1453 <option>111111111</option> 
1454 </select></span> 
1455 
1456 
1457 //Import 
1458 
1459 function Import() { 
1460 for( var i=0; i<arguments.length; i++ ) { 
1461 var file = arguments; 
1462 if ( file.match(/\.js$/i)) 
1463 document.write('<script type=\"text/javascript\" src=\"' + file + '\"></sc' + 'ript>'); 
1464 else 
1465 document.write('<style type=\"text/css\">@import \"' + file + '\" ;</style>'); 
1466 } 
1467 }; 
1468 
1469 
1470 //js枚举 
1471 
1472 function getComputerName() 
1473 { 
1474 var objWMIService = GetObject("Winmgmts:root\cimv2"); 
1475 for(e = new Enumerator(objWMIService) ; !e.atEnd() ; e.moveNext()) 
1476 { 
1477 var getComputer = e.item(); 
1478 return getComputer.Name; 
1479 } 
1480 } 
1481 
1482 
1483 //条件编译 
1484 
1485 <script language=javascript> 
1486 /*@cc_on @*/ 
1487 /*@if (@_win32 && @_jscript_version>5) 
1488 function window.confirm(str) 
1489 { 
1490 execScript("n = msgbox('"+ str +"', 257)", "vbscript"); 
1491 return(n == 1); 
1492 } 
1493 @end @*/ 
1494 </script> 
1495 
1496 
1497 //取得innerText 
1498 
1499 
1500 <SCRIPT LANGUAGE="JavaScript"> 
1501 <!-- 
1502 var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0"); 
1503 var currNode; 
1504 xmlDoc.async = false; 
1505 xmlDoc.async = false; 
1506 xmlDoc.loadXML("<TABLENAME> 你好你阿三 大法 司法等四 </TABLENAME>"); 
1507 currNode = xmlDoc.documentElement; 
1508 
1509 var s = currNode.xml; 
1510 var r = /\<([^\>\s]*?)[^\>]*?\>([^\<]*?)\<\/\1\>/ 
1511 var b = s.replace(r,"$2"); 
1512 alert(b); 
1513 //--> 
1514 </SCRIPT> 
1515 
1516 
1517 //mergeAttributes 复制所有读/写标签属性到指定元素。 
1518 
1519 <SCRIPT> 
1520 function fnMerge(){ 
1521 oSource.children[1].mergeAttributes(oSource.children[0]); 
1522 } 
1523 </SCRIPT> 
1524 <SPAN ID=oSource> 
1525 <DIV 
1526 ID="oDiv" 
1527 ATTRIBUTE1="true" 
1528 ATTRIBUTE2="true" 
1529 οnclick="alert('click');" 
1530 οnmοuseοver="this.style.color='#0000FF';" 
1531 οnmοuseοut="this.style.color='#000000';" 
1532 > 
1533 This is a sample <B>DIV</B> element. 
1534 </DIV> 
1535 <DIV ID="oDiv2"> 
1536 This is another sample <B>DIV</B> element. 
1537 </DIV> 
1538 </SPAN> 
1539 <INPUT 
1540 TYPE="button" 
1541 VALUE="Merge Attributes" 
1542 οnclick="fnMerge()" 
1543 > 
1544 
1545 
1546 JavaScript[对象.属性]集锦 
1547 SCRIPT 标记 
1548 
1549 用于包含javascript代码. 
1550 
1551 语法 
1552 
1553 属性 
1554 
1555 LANGUAGE 定义脚本语言 
1556 
1557 SRC 定义一个URL用以指定以.JS结尾的文件 
1558 
1559 
1560 windows对象 
1561 
1562 每个HTML文档的顶层对象. 
1563 
1564 属性 
1565 
1566 frames[] 子桢数组.每个子桢数组按源文档中定义的顺序存放. 
1567 
1568 feames.length 子桢个数. 
1569 
1570 self 当前窗口. 
1571 
1572 parent 父窗口(当前窗口是中一个子窗口). 
1573 
1574 top 顶层窗口(是所有可见窗口的父窗口). 
1575 
1576 status 浏览器状态窗口上的消息. 
1577 
1578 defaultStatus 当status无效时,出现在浏览器状态窗口上的缺省消息. 
1579 
1580 name 内部名,为由window.open()方法打开的窗口定义的名字. 
1581 
1582 方法 
1583 
1584 alert("message") 显示含有给定消息的"javascript Alert"对话框. 
1585 
1586 confirm("message") 显示含有给定消息的"Confirm"对话框(有一个OK按钮和一个Cancel按钮).如果用户单击OK返回true,否则返回false. 
1587 
1588 prompt("message") 显示一个"prompt"对话框,要求用户根据显示消息给予相应输入. 
1589 
1590 open("URL","name") 打开一个新窗口,给予一个指定的名字. 
1591 
1592 close() 关闭当前窗口. 
1593 
1594 
1595 frame对象 
1596 
1597 它是整个浏览器窗口的子窗口,除了status,defaultStatus,name属性外,它拥有window对象的全部属性. 
1598 
1599 location对象 
1600 
1601 含有当前URL的信息. 
1602 
1603 属性 
1604 
1605 href 整个URL字符串. 
1606 
1607 protocol 含有URL第一部分的字符串,如http: 
1608 
1609 host 包含有URL中主机名:端口号部分的字符串.如//www.cenpok.net/server/ 
1610 
1611 hostname 包含URL中主机名的字符串.如http://www.cenpok.net 
1612 
1613 port 包含URL中可能存在的端口号字符串. 
1614 
1615 pathname URL中"/"以后的部分.如~list/index.htm 
1616 
1617 hash "#"号(CGI参数)之后的字符串. 
1618 
1619 search "?"号(CGI参数)之后的字符串. 
1620 
1621 
1622 document对象 
1623 
1624 含有当前文档信息的对象. 
1625 
1626 属性 
1627 
1628 title 当前文档标题,如果未定义,则包含"Untitled". 
1629 
1630 location 文档的全URL. 
1631 
1632 lastModified 含有文档最后修改日期. 
1633 
1634 referrer 调用者URL,即用户是从哪个URL链接到当前页面的. 
1635 
1636 bgColor 背景色(#xxxxxx) 
1637 
1638 fgColor 前景文本颜色. 
1639 
1640 linkColor 超链接颜色. 
1641 
1642 vlinkColor 访问过的超链颜色. 
1643 
1644 alinkColor 激活链颜色(鼠标按住未放时). 
1645 
1646 forms[] 文档中form对象的数组,按定义次序存储. 
1647 
1648 forms.length 文档中的form对象数目. 
1649 
1650 links[] 与文档中所有HREF链对应的数组对象,按次序定义存储. 
1651 
1652 links.length 文档中HREF链的数目. 
1653 
1654 anchors[] 锚(...)数组,按次序定义存储. 
1655 
1656 anchors.length 文档中锚的数目. 
1657 
1658 方法 
1659 
1660 write("string") 将字符串突出给当前窗口.(字符串可以含有HTML标记) 
1661 
1662 writeln("string") 与write()类似,在结尾追加回车符,只在预定格式文本中(...或...)生效. 
1663 
1664 clear() 清当前窗口. 

1665 
1666 close() 关闭当前窗口. 
1667 
1668 
1669 form对象 
1670 
1671 属性 
1672 
1673 name 
1674 
1675 中的NAME属性的字符串值. 
1676 
1677 method 中METHOD属性的类值,"0"="GET" ,"1"="POST" . 
1678 
1679 action 中ACTION属性的字符串值. 
1680 
1681 target 表格数据提交的目标,与标记中相应属性一致. 
1682 
1683 elements[index] elements属性包含form中的各个元素. 
1684 
1685 length 表格中的元素个数. 
1686 
1687 方法 
1688 
1689 submit() 提交表格. 
1690 
1691 事件处理器onSubmit() 用户单击一个定义好的按钮提交form时运行的代码. 
1692 
1693 text和textarea对象 
1694 
1695 属性 
1696 
1697 name NAME属性的字符串值. 
1698 
1699 value 域内容的字符串值. 
1700 
1701 defaultValue 域内容的初始字符串值. 
1702 
1703 方法 
1704 
1705 focus() 设置对象输入焦点. 
1706 
1707 blur() 从对象上移走输入焦点. 
1708 
1709 select() 选定对象的输入区域. 
1710 
1711 事件处理器 
1712 
1713 onFocus 当输入焦点进入时执行. 
1714 
1715 onBlur 当域失去焦点时执行. 
1716 
1717 onSelect 当域中有部分文本被选定时执行. 
1718 
1719 onChange 当域失去焦点且域值相对于onFocus执行有所改变时执行. 
1720 
1721 复选框(checkbox)对象 
1722 
1723 属性 
1724 name NAME属性的字符串值. 
1725 
1726 value 复选框内容的字符串值.如果设置了,则为"on",否则为"off". 
1727 
1728 checked 复选框内容的布尔值.如果设置了,则为true,否则为false . 
1729 
1730 defaultChecked 反映(CHECKED)属性的布尔值(缺省状态). 
1731 
1732 方法 
1733 
1734 click() 选定复选框,并使之状态为"on". 
1735 
1736 事件处理器 
1737 
1738 onClick 当用户单击Checkbox时执行. 
1739 
1740 
1741 单选按钮(radio)对象 
1742 
1743 属性 
1744 
1745 name NAME属性的字符串值. 
1746 
1747 length radio对象中单选按钮的个数. 
1748 
1749 value VALUE属性的字符串值. 
1750 
1751 checked 布尔值,按下为true,否则为false . 
1752 
1753 defaultChecked 反映CHECKED属性值的布尔值. 
1754 
1755 方法 
1756 
1757 click() 选定单选按钮. 
1758 
1759 事件处理器 
1760 
1761 onClick 当单选按钮被选定时执行. 
1762 
1763 
1764 select对象 
1765 
1766 属性 
1767 
1768 length select对象中对象的个数. 
1769 
1770 name 由NAME=属性定义的select对象的内部名. 
1771 
1772 selectedIndex select对象中当前被选option的下标. 
1773 
1774 options 该属性对应于在HTML中定义select对象时标记中的内容,它有如下属性: 
1775 
1776 text 标记后的文本串. 
1777 
1778 value VALUE属性的值,当Submit按钮被按下时,该值被提交. 
1779 
1780 defaultSelected 反映标记的SELECTED属性的布尔值. 
1781 
1782 selected 反映option的当前选择状态的布尔值. 
1783 
1784 事件处理器 
1785 
1786 onFocus 当输入焦点进入域时执行. 
1787 
1788 onBlur 当域失去输入焦点时执行. 
1789 
1790 onChange 当域失去焦点且如果域的值相对于onFocus执行时有所改变,则执行onChange. 
1791 
1792 
1793 Button对象 
1794 
1795 表格中有三种类型按钮,由标记中的TYPE属性定义: 
1796 
1797 .submit (type="SUBMIT") 
1798 .reset (type="RESET") 
1799 .custom (type="BUTTON") 
1800 
1801 所有按钮对象都有如下成分: 
1802 属性 
1803 
1804 value VALUE属性的字符串值. 
1805 
1806 name NAME属性的字符串值. 
1807 方法 
1808 
1809 click() 选定按钮 
1810 
1811 事件处理器 
1812 
1813 onClick 当按钮被单击时执行. 
1814 
1815 
1816 submit和reset对象 
1817 
1818 属性 
1819 
1820 value VALUE=属性的内容. 
1821 
1822 name NAME=属性的内容. 
1823 
1824 方法 
1825 
1826 click() 选定按钮 
1827 
1828 事件处理器 
1829 
1830 onClick 当按钮被单击时执行. 
1831 
1832 
1833 password对象 

1834 
1835 属性 
1836 
1837 defaultValue VALUE=属性的内容. 
1838 
1839 name NAME=属性的内容. 
1840 
1841 value 目前输入password域的数据. 
1842 
1843 方法 
1844 
1845 focus() 将焦点带入password域. 
1846 
1847 blur 将焦点从password域移出. 
1848 
1849 select() 选定password域中的当前数据,以备修改. 
1850 
1851 
1852 navigator对象 
1853 该对象用于确定用户访问时使用的Navigator版本. 
1854 
1855 属性 
1856 
1857 appCodeName 相对于用户浏览器的"codename" 
1858 
1859 appName 相对于用户浏览器的实际名字. 
1860 
1861 appVersion 相对于用户浏览器的版本号. 
1862 
1863 userAgent 该属性反映用户浏览器的全部信息. 
1864 
1865 
1866 string对象 
1867 
1868 string对象为操作字符串的内容提供了很多方法. 
1869 
1870 属性 
1871 
1872 length 字符串的长度,即字符串中字符的个数. 
1873 
1874 方法 
1875 
1876 big(),blink(),bold(),fixed(),italics(),small(),sub(),strike(),sup(),fontColor(color),fontSize(size) 
1877 
1878 以上方法为字符串增加相应的HTML标记. 
1879 
1880 charAt(index) 返回字符串中index处的字符. 
1881 
1882 indexOf(searchValue,[fromIndex]) 该方法在字符串中寻找第一次出现的searchValue.如果给定了fromIndex,则从 字符串内该位置开始搜索,当searchValue找到后,返回该串第一个字符的位置. 
1883 
1884 lastIndexOf(searchValue,[fromIndex]) 从字符串的尾部向前搜索searchValue,并报告找到的第一个实例. 
1885 
1886 substring(indexA,indexB) 获取自indexA到indexB的子串. 
1887 
1888 toLowerCase(),toUpperCase() 将字符串中所有字符全部转换成大写,小写. 
1889 
1890 
1891 Date对象 
1892 
1893 要使用Date对象,必须先生成一个Date实例: 
1894 
1895 变量名=new Date(); 
1896 
1897 方法 
1898 getDay(),getDate(),getHours(),getMinutes(),getMonth(),getSeconds(),getTime(), 
1899 getTimeZoneOffset(),getYear() 
1900 
1901 还有setDay... ... 
1902 
1903 toGMTString() 用GMT格式返回当前时间. (Sun,12 Feb 1999 14:19:22 GMT) 
1904 
1905 toLocaleString 用locale格式返回当前时间. (03/11/99 14:19:22) 
1906 
1907 parse(date) 将普通date字符串转换成豪秒形式,从而给setTime()做参数. 
1908 
1909 
1910 Math对象 
1911 
1912 属性 
1913 
1914 LN10 (10的自然对数) 
1915 
1916 PI (3.1415926...) 
1917 
1918 SQRT1_2 (1/2的平方根) 
1919 
1920 方法 
1921 
1922 abs(x) 返回x的绝对值 
1923 acos(x) 返回x的arc cosine值 
1924 asin(x) 返回x的arc sin值 
1925 atan(x) 返回x的arc tangent值 
1926 ceil(x) 返回大于等于x的最小整数 
1927 cos(x) 返回x的cosine值 
1928 exp(x) 返回e的x次方 
1929 floor(x) 返回小于等于x的最大整数 
1930 log(x) 返回x的 
1931 max(x,y) 返回x,y中的大值 
1932 min(x,y) 返回x,y中的小值 
1933 pow(x,y) 返回x的y次方 
1934 round(x) 舍入到最近整数,(小于或等于0.5小数舍去) 
1935 sin(x) 返回x的sin值 
1936 sqrt(x) 返回x的平方根 
1937 tan(x) 返回x的tangent值 
1938 
1939 
1940 弹窗代码汇总 
1941 【0、超完美弹窗代码 】 
1942 功能:5小时弹一次+背后弹出+自动适应不同分辩率+准全屏显示 
1943 
1944 代码: 
1945 <script> 
1946 function openwin(){ 
1947 window.open(http://www.6882.com,"pop1","width="+(window.screen.width-15)+",height="+(window.screen.height-170)+",left=0,top=0,toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes,location=yes,status=yes") 
1948 setTimeout("focus();",5); 
1949 } 
1950 function get_cookie(Name) { 
1951 var search = Name + "=" 
1952 var return&#118alue = ""; 
1953 if (documents&#46cookie.length > 0) { 
1954 offset = documents&#46cookie.indexOf(search) 
1955 if (offset != -1) { 
1956 offset += search.length 
1957 end = documents&#46cookie.indexOf(";", offset); 
1958 if (end == -1) 
1959 end = documents&#46cookie.length; 
1960 return&#118alue=unescape(documents&#46cookie.substring(offset, end)) 
1961 } 
1962 } 
1963 return return&#118alue; 
1964 } 
1965 function Set() 
1966 { 
1967   var Then = new Date()     
1968   Then.setTime(Then.getTime() + 5*60*60*1000 ) 
1969   documents&#46cookie = "popped1=yes;expires="+ Then.toGMTString() 
1970 } 
1971 
1972 function loadpopup(){ 
1973 if (get_cookie('popped1')=='') 
1974 { 
1975 openwin() 
1976 Set() 
1977 } 
1978 } 
1979 setTimeout("loadpopup()",5); 
1980 
1981 </script> 
1982 
1983 
1984 【1、最基本的弹出窗口代码】 
1985 
1986 其实代码非常简单: 
1987 
1988 <script language="&#106avascript"> 
1989 <!-- 
1990 window.open ('page.html') 
1991 --> 
1992 </script> 
1993 因为着是一段&#106avascripts代码,所以它们应该放在<script language="&#106avascript">标签和</script>之间。<!-- 和 -->是对一些版本低的浏览器起作用,在这些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。 
1994 window.open ('page.html') 用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。用单引号和双引号都可以,只是不要混用。 
1995 这一段代码可以加入html的任意位置,<head>和</head>之间可以,<body>间</body>也可以,越前越早执行,尤其是页面代码长,又想使页面早点弹出就尽量往前放。 
1996 
1997 
1998 【2、经过设置后的弹出窗口】 
1999 
2000 下面再说一说弹出窗口的设置。只要再往上面的代码中加一点东西就可以了。 
2001 我们来定制这个弹出的窗口的外观,尺寸大小,弹出的位置以适应该页面的具体情况。 
2002 <script language="&#106avascript"> 
2003 <!-- 
2004 window.open ('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no') 
2005 //写成一行 
2006 --> 
2007 </script> 
2008 参数解释: 
2009 <script language="&#106avascript"> js脚本开始; 
2010 window.open 弹出新窗口的命令; 
2011 'page.html' 弹出窗口的文件名; 
2012 'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替; 
2013 height=100 窗口高度; 
2014 width=400 窗口宽度; 
2015 top=0 窗口距离屏幕上方的象素值; 
2016 left=0 窗口距离屏幕左侧的象素值; 
2017 toolbar=no 是否显示工具栏,yes为显示; 
2018 menubar,scrollbars 表示菜单栏和滚动栏。 
2019 resizable=no 是否允许改变窗口大小,yes为允许; 
2020 location=no 是否显示地址栏,yes为允许; 
2021 status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许; 
2022 </script> js脚本结束 
2023 
2024 
2025 【3、用函数控制弹出窗口】 
2026 
2027 下面是一个完整的代码。 
2028 <html> 
2029 <head> 
2030 <script language="&#106avascript"> 
2031 <!-- 
2032 function openwin() { window.open ("page.html", "newwindow", "height=100, width=400, toolbar= 
2033 no, menubar=no, scrollbars=no, resizable=no, location=no, status=no" 
2034 //写成一行 
2035 } 
2036 //--> 
2037 </script> 
2038 </head> 
2039 <body > 
2040 ...任意的页面内容... 
2041 </body> 
2042 </html> 
2043 这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。 
2044 怎么调用呢? 
2045 方法一:<body > 浏览器读页面时弹出窗口; 
2046 方法二:<body > 浏览器离开页面时弹出窗口; 
2047 方法三:用一个连接调用: 
2048 <a href="#" _fcksavedurl=""#"" _fcksavedurl=""#"" _fcksavedurl=""#"" &#111nclick="openwin()">打开一个窗口</a> 
2049 注意:使用的“#”是虚连接。 
2050 方法四:用一个按钮调用: 
2051 <input type="button" &#111nclick="openwin()" &#118alue="打开窗口"> 
2052 
2053 
2054 【4、同时弹出2个窗口】 
2055 
2056 对源代码稍微改动一下: 
2057 <script language="&#106avascript"> 
2058 <!-- 
2059 function openwin() 
2060 { window.open ("page.html", "newwindow", "height=100, width=100, top=0,left=0,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no" 
2061 //写成一行 
2062 window.open ("page2.html", "newwindow2", "height=100, width=100, top=100, left=100,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no" 
2063 //写成一行 
2064 } 
2065 //--> 
2066 </script> 
2067 为避免弹出的2个窗口覆盖,用top和left控制一下弹出的位置不要相互覆盖即可。最后用上面说过的四种方法调用即可。 
2068 
2069 注意:2个窗口的name(newwindows和newwindow2)不要相同,或者干脆全部为空。ok? 
2070 
2071 
2072 【5、主窗口打开文件1.htm,同时弹出小窗口page.html】 
2073 
2074 如下代码加入主窗口<head>区: 
2075 <script language="&#106avascript"> 
2076 <!-- 
2077 function openwin() 
2078 {window.open("page.html","","width=200,height=200" 
2079 } 
2080 //--> 
2081 </script> 
2082 加入<body>区: 
2083 <a href="1.htm" &#111nclick="openwin()">open</a>即可。 
2084 
2085 
2086 【6、弹出的窗口之定时关闭控制】 
2087 
2088 下面我们再对弹出的窗口进行一些控制,效果就更好了。如果我们再将一小段代码加入弹出的页面(注意是加入到page.html的html中,可不是主页面中,否则...),让它10秒后自动关闭是不是更酷了? 
2089 
2090 首先,将如下代码加入page.html文件的<head>区: 
2091 <script language="&#106avascript"> 
2092 function closeit() 
2093 {settimeout("self.close()",10000) //毫秒} 
2094 </script> 
2095 然后,再用<body > 这一句话代替page.html中原有的<body>这一句就可以了。(这一句话千万不要忘记写啊!这一句的作用是调用关闭窗口的代码,10秒钟后就自行关闭该窗口。) 
2096 
2097 
2098 【7、在弹出窗口中加上一个关闭按钮】 
2099 
2100 <form> 
2101 <input type='button' &#118alue='关闭' &#111nclick='window.close()'> 
2102 </form> 
2103 
2104 呵呵,现在更加完美了! 
2105 
2106 
2107 【8、内包含的弹出窗口-一个页面两个窗口】 
2108 
2109 上面的例子都包含两个窗口,一个是主窗口,另一个是弹出的小窗口。 
2110 
2111 通过下面的例子,你可以在一个页面内完成上面的效果。 
2112 <html> 
2113 <head> 
2114 <script language="&#106avascript"> 
2115 function openwin() 
2116 {openwindow=window.open("", "newwin", "height=250, width=250,toolbar=no,scrollbars="+scroll+",menubar=no"; 
2117 //写成一行 
2118 openwindow.document.write("<title>例子</title>" 
2119 openwindow.document.write("<body bgcolor=#ffffff>" 
2120 openwindow.document.write("<h1>hello!</h1>" 
2121 openwindow.document.write("new window opened!" 
2122 openwindow.document.write("</body>" 
2123 openwindow.document.write("</html>" 
2124 openwindow.document.close()} 
2125 </script> 
2126 </head> 
2127 <body> 
2128 <a href="#" &#111nclick="openwin()">打开一个窗口</a> 
2129 <input type="button" &#111nclick="openwin()" &#118alue="打开窗口"> 
2130 </body> 
2131 </html> 
2132 看看 openwindow.document.write()里面的代码不就是标准的html吗?只要按照格式写更多的行即可。千万注意多一个标签或少一个标签就会出现错误。记得用openwindow.document.close()结束啊。 
2133 【9、终极应用--弹出的窗口之cookie控制】 
2134 
2135 回想一下,上面的弹出窗口虽然酷,但是有一点小毛病(沉浸在喜悦之中,一定没有发现吧?)比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页),那么每次刷新这个页面,窗口都会弹出一次,是不是非常烦人?:-(有解决的办法吗?yes! ;-) follow me. 
2136 
2137 我们使用cookie来控制一下就可以了。 
2138 
2139 首先,将如下代码加入主页面html的<head>区: 
2140 <script> 
2141 function openwin() 
2142 {window.open("page.html","","width=200,height=200"} 
2143 function get_cookie(name) 
2144 {var search = name + "=" 
2145 var return&#118alue = ""; 
2146 if (documents&#46cookie.length > 0) { 
2147 offset = documents&#46cookie.indexof(search) 
2148 if (offset != -1) { 
2149 offset += search.length 
2150 end = documents&#46cookie.indexof(";", offset); 
2151 if (end == -1) 
2152 end = documents&#46cookie.length; 
2153 return&#118alue=unescape(documents&#46cookie.substring(offset,end)) 
2154 } 
2155 } 
2156 return return&#118alue; 
2157 } 
2158 function loadpopup(){ 
2159 if (get_cookie('popped')==''){ 
2160 openwin() 
2161 documents&#46cookie="popped=yes" 
2162 } 
2163 } 
2164 </script> 
2165 然后,用<body >(注意不是openwin而是loadpop啊!)替换主页面中原有的<body>这一句即可。你可以试着刷新一下这个页面或重新进入该页面,窗口再也不会弹出了。真正的pop-only-once! 
2166 强力弹窗代码: 
2167 
2168 <Script Language="&#106avascript"> 
2169 var paypopupURL = "http://23sui.com"; 
2170 var usingActiveX = true; 
2171 function blockError(){return true;} 
2172 window.&#111nerror = blockError; 
2173 //bypass norton internet security popup blocker 
2174 if (window.SymRealWinOpen){window.open = SymRealWinOpen;} 
2175 if (window.NS_ActualOpen) {window.open = NS_ActualOpen;} 
2176 if (typeof(usingClick) == 'undefined') {var usingClick = false;} 
2177 if (typeof(usingActiveX) == 'undefined') {var usingActiveX = false;} 
2178 if (typeof(popwin) == 'undefined') {var popwin = null;} 
2179 if (typeof(poped) == 'undefined') {var poped = false;} 
2180 if (typeof(paypopupURL) == 'undefined') {var paypopupURL = "http://23sui.com/";} 
2181 var blk = 1; 
2182 var setupClickSuccess = false; 
2183 var googleInUse = false; 
2184 var myurl = location.href+'/'; 
2185 var MAX_TRIED = 20; 
2186 var activeXTried = false; 
2187 var tried = 0; 
2188 var randkey = '0'; // random key from server 
2189 var myWindow; 
2190 var popWindow; 
2191 var setupActiveXSuccess = 0; 
2192 // bypass IE functions 
2193 function setupActiveX() 
2194 
2195 {if (usingActiveX) 
2196 
2197 {try 
2198 
2199 {if (setupActiveXSuccess < 5) 
2200 
2201 {document.write('<INPUT STYLE="display:none;" ID="autoHit" TYPE="TEXT" &#111nKEYPRESS="showActiveX()">'); 
2202 
2203 popWindow=window.createPopup(); 
2204 
2205 popWindow.document.body.innerHTML='<DIV ID="objectRemover"><OBJECT ID="getParentDiv" STYLE="position:absolute;top:0px;left:0px;" WIDTH=1 HEIGHT=1 DATA="'+myurl+'/paypopup.html" TYPE="text/html"></OBJECT></DIV>'; 
2206 
2207 document.write('<IFRAME NAME="popIframe" STYLE="position:absolute;top:-100px;left:0px;width:1px;height:1px;" SRC="about&#58blank"></IFRAME>'); 
2208 
2209 popIframe.document.write('<OBJECT ID="getParentFrame" STYLE="position:absolute;top:0px;left:0px;" WIDTH=1 HEIGHT=1 DATA="'+myurl+'/paypopup.html" TYPE="text/html"></OBJECT>'); 
2210 
2211 setupActiveXSuccess = 6;}}catch(e){if (setupActiveXSuccess < 5) {setupActiveXSuccess++;setTimeout('setupActiveX();',500);}else if (setupActiveXSuccess == 5) {activeXTried = true;setupClick(); 
2212 } 
2213 } 
2214 } 
2215 } 
2216 function tryActiveX() 
2217 {if (!activeXTried && !poped) 
2218 
2219 {if (setupActiveXSuccess == 6 && googleInUse && popWindow && popWindow.document.getElementById('getParentDiv') && popWindow.document.getElementById('getParentDiv').object && popWindow.document.getElementById('getParentDiv').object.parentWindow) 
2220 
2221 { 
2222 myWindow=popWindow.document.getElementById('getParentDiv').object.parentWindow; 
2223 } 
2224 
2225 else if (setupActiveXSuccess == 6 && !googleInUse && popIframe && popIframe.getParentFrame && popIframe.getParentFrame.object && popIframe.getParentFrame.object.parentWindow) 
2226 
2227 { 
2228 myWindow=popIframe.getParentFrame.object.parentWindow;popIframe.location.replace('about&#58blank'); 
2229 } 
2230 
2231 else 
2232 { 
2233 setTimeout('tryActiveX()',200);tried++; 
2234 if (tried >= MAX_TRIED && !activeXTried) 
2235 { 
2236 activeXTried = true;setupClick(); 
2237 } 
2238 return; 
2239 } 
2240 
2241 openActiveX(); 
2242 window.windowFired=true;self.focus(); 
2243 } 
2244 } 
2245 
2246 function openActiveX() 
2247 {if (!activeXTried && !poped) 
2248 {if (myWindow && window.windowFired) 
2249 { 
2250 window.windowFired=false; 
2251 document.getElementById('autoHit').fireEvent("&#111nkeypress", (document.createEventObject().keyCode=escape(randkey).substring(1))); 
2252 } 
2253 else 
2254 { 
2255 setTimeout('openActiveX();',100); 
2256 } 
2257 tried++; 
2258 if (tried >= MAX_TRIED) 
2259 {activeXTried = true;setupClick(); 
2260 } 
2261 } 
2262 } 
2263 function showActiveX() 
2264 { 
2265 if (!activeXTried && !poped) 
2266 {if (googleInUse) 
2267 {window.daChildObject=popWindow.document.getElementById('objectRemover').children(0); 
2268 window.daChildObject=popWindow.document.getElementById('objectRemover').removeChild(window.daChildObject); 
2269 } 
2270 newWindow=myWindow.open(paypopupURL,'abcdefg'); 
2271 if (newWindow) 
2272 { 
2273 newWindow.blur(); 
2274 self.focus();activeXTried = true;poped = true; 
2275 } 
2276 else 
2277 { 
2278 if (!googleInUse) 
2279 { 
2280 googleInUse=true; 
2281 tried=0; 
2282 tryActiveX(); 
2283 } 
2284 else 
2285 { 
2286 activeXTried = true; 
2287 setupClick(); 
2288 } 
2289 } 
2290 } 
2291 } 
2292 // end bypass IE functions 
2293 
2294 // normal call functions 
2295 
2296 
2297 function paypopup() 
2298 {if (!poped) 
2299 {if(!usingClick && !usingActiveX) 
2300 {popwin = window.open(paypopupURL,'abcdefg'); 
2301 if (popwin) 
2302 {poped = true; 
2303 } 
2304 self.focus(); 
2305 } 
2306 } 
2307 if (!poped) 
2308 {if (usingActiveX) 
2309 { 
2310 tryActiveX(); 
2311 }else 
2312 { 
2313 setupClick(); 
2314 } 
2315 } 
2316 } 
2317 // end normal call functions 
2318 
2319 // &#111nclick call functions 
2320 
2321 function setupClick() 
2322 {if (!poped && !setupClickSuccess) 
2323 { 
2324 if (window.Event) 
2325 document.captureEvents(Event.CLICK); 
2326 prePaypop&#111nclick = document.&#111nclick; 
2327 document.&#111nclick = gopop;self.focus(); 
2328 setupClickSuccess=true; 
2329 } 
2330 } 
2331 
2332 
2333 function gopop() 
2334 {if (!poped) 
2335 { 
2336 popwin = window.open(paypopupURL,'abcdefg'); 
2337 if (popwin) 
2338 { 
2339 poped = true; 
2340 } 
2341 self.focus(); 
2342 } 
2343 if (typeof(prePaypop&#111nclick) == "function") 
2344 { 
2345 prePaypop&#111nclick(); 
2346 } 
2347 } 
2348 // end &#111nclick call functions 
2349 
2350 // check version 
2351 
2352 
2353 function detectGoogle() 
2354 {if (usingActiveX) 
2355 { 
2356 try { 
2357 document.write('<DIV STYLE="display:none;"><OBJECT ID="detectGoogle" CLASSID="clsid:00EF2092-6AC5-47c0-BD25-CF2D5D657FEB" STYLE="display:none;" CODEBASE="view-source:about&#58blank"></OBJECT></DIV>'); 
2358 googleInUse|=(typeof(document.getElementById('detectGoogle'))=='object'); 
2359 } 
2360 catch(e) 
2361 { 
2362 setTimeout('detectGoogle();',50); 
2363 } 
2364 } 
2365 } 
2366 
2367 
2368 function version() 
2369 { 
2370 var os = 'W0'; 
2371 var bs = 'I0'; 
2372 var isframe = false; 
2373 var browser = window.navigator.userAgent; 
2374 if (browser.indexOf('Win') != -1) 
2375 { 
2376 os = 'W1'; 
2377 } 
2378 if (browser.indexOf("SV1") != -1) 
2379 { 
2380 bs = 'I2'; 
2381 } 
2382 else if (browser.indexOf("Opera") != -1) 
2383 { 
2384 bs = "I0"; 
2385 } 
2386 else if (browser.indexOf("Firefox") != -1) 
2387 { 
2388 bs = "I0"; 
2389 } 
2390 else if (browser.indexOf("Microsoft") != -1 || browser.indexOf("MSIE") != -1) 
2391 { 
2392 bs = 'I1'; 
2393 } 
2394 if (top.location != this.location) 
2395 { 
2396 isframe = true; 
2397 } 
2398 paypopupURL = paypopupURL; 
2399 usingClick = blk && ((browser.indexOf("SV1") != -1) || (browser.indexOf("Opera") != -1) || (browser.indexOf("Firefox") != -1)); 
2400 usingActiveX = blk && (browser.indexOf("SV1") != -1) && !(browser.indexOf("Opera") != -1) && ((browser.indexOf("Microsoft") != -1) || (browser.indexOf("MSIE") != -1)); 
2401 
2402 detectGoogle();} 
2403 version(); 
2404 
2405 // end check version 
2406 
2407 function loadingPop() { 
2408 if(!usingClick && !usingActiveX) 
2409 { 
2410 paypopup(); 
2411 } 
2412 else if (usingActiveX) 
2413 { 
2414 tryActiveX(); 
2415 } 
2416 else 
2417 { 
2418 setupClick(); 
2419 } 
2420 } 
2421 myurl = myurl.substring(0, myurl.indexOf('/',8)); 
2422 if (myurl == '') 
2423 { 
2424 myurl = '.'; 
2425 } 
2426 setupActiveX(); 
2427 loadingPop(); 
2428 self.focus(); 
2429 </Script> 
2430 JS代码判断集锦(之一) 
2431 
2432 
2433 <script language="JavaScript"> 
2434 function checkid(iden,year,month,day){ 
2435 
2436 if (iden.value.length==15) { 
2437 
2438 
2439 if ((iden.value.lastIndexOf(month.value+day.value))==8) { 
2440 
2441 return true; 
2442 } 
2443 return false; 
2444 } 
2445 if (iden.value.length==18) { 
2446 
2447 
2448 if ((iden.value.indexOf(year.value+month.value+day.value))==6) { 
2449 
2450 return true; 
2451 } 
2452 return false; 
2453 } 
2454 
2455 return false; 
2456 } 
2457 
2458 
2459 function isCharsInBag (s, bag) 
2460 { 
2461 var i; 
2462 for (i = 0; i < s.length; i++) 
2463 { 
2464 var c = s.charAt(i); 
2465 if (bag.indexOf(c) == -1) return false; 
2466 } 
2467 return true; 
2468 } 
2469 function isEmpty(s) 
2470 { 
2471 return ((s == null) || (s.length == 0)) 
2472 } 
2473 
2474 function isWhitespace (s) 
2475 { 
2476 var whitespace = " \t\n\r"; 
2477 var i; 
2478 for (i = 0; i < s.length; i++) 
2479 { 
2480 var c = s.charAt(i); 
2481 if (whitespace.indexOf(c) >= 0) 
2482 { 
2483 return true; 
2484 } 
2485 } 
2486 return false; 
2487 } 
2488 function isEmail (s,t) 
2489 { 
2490 if (isEmpty(s)) 
2491 { 
2492 window.alert("输入的E-mail地址不能为空,请输入!"); 
2493 mobj = eval(t); 
2494 mobj.focus(); 
2495 mobj.select(); 
2496 return false 
2497 } 
2498 if (isWhitespace(s)) 
2499 { 
2500 window.alert("输入的E-mail地址中不能包含空格符,请重新输入!"); 
2501 mobj = eval(t) 
2502 mobj.focus() 
2503 mobj.select() 
2504 return false; 
2505 } 
2506 var i = 1; 
2507 var len = s.length; 
2508 
2509 if (len > 50) 
2510 { 
2511 window.alert("email地址长度不能超过50位!"); 
2512 mobj = eval(t) 
2513 mobj.focus() 
2514 mobj.select() 
2515 return false; 
2516 } 
2517 
2518 pos1 = s.indexOf("@"); 
2519 pos2 = s.indexOf("."); 
2520 pos3 = s.lastIndexOf("@"); 
2521 pos4 = s.lastIndexOf("."); 
2522 if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len)) 
2523 { 
2524 window.alert("请输入有效的E-mail地址!"); 
2525 mobj = eval(t) 
2526 mobj.focus() 
2527 mobj.select() 
2528 return false; 
2529 } 
2530 else 
2531 { 
2532 if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1) 
2533 || ( pos1 != pos3 ) 
2534 || ( pos4 < pos3 ) ) 
2535 { 
2536 window.alert("请输入有效的E-mail地址!"); 
2537 mobj = eval(t) 
2538 mobj.focus() 
2539 mobj.select() 
2540 return false; 
2541 } 
2542 } 
2543 
2544 if ( !isCharsInBag( s, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@")) 
2545 { 
2546 window.alert("email地址中只能包含字符ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@\n" + "请重新输入" ); 
2547 mobj = eval(t) 
2548 mobj.focus() 
2549 return false; 
2550 } 
2551 return true; 
2552 } 
2553 function isnumber(str){ 
2554 var digits="1234567890"; 
2555 var i=0; 
2556 var strlen=str.length; 
2557 while((i<strlen)){ 
2558 var char=str.charAt(i); 
2559 if(digits.indexOf(char)==-1)return false;i++; 
2560 } 
2561 return true; 
2562 } 
2563 function isnumbercode(str){ 
2564 var digits="1234567890-/"; 
2565 var i=0; 
2566 var strlen=str.length; 
2567 while((i<strlen)){ 
2568 var char=str.charAt(i); 
2569 if(digits.indexOf(char)==-1)return false;i++; 
2570 } 
2571 return true; 
2572 } 
2573 </script> 
2574 
2575 <script language=javascript> 
2576 function checkForm(theform){ 
2577 if (document.frm.companyname.value.length==0){ 
2578 alert("单位名称不能为空。"); 
2579 mobj = eval("document.frm.companyname"); 
2580 mobj.focus() 
2581 mobj.select() 
2582 return false; 
2583 } 
2584 
2585 if (document.frm.address.value.length==0){ 
2586 alert("单位地址不能为空"); 
2587 mobj = eval("document.frm.address"); 
2588 mobj.focus() 
2589 mobj.select() 
2590 return false; 
2591 } 
2592 
2593 if (document.frm.invest.value.length==0){ 
2594 alert("投资额不能为空"); 
2595 mobj = eval("document.frm.invest"); 
2596 mobj.focus() 
2597 mobj.select() 
2598 return false; 
2599 } 
2600 if (document.frm.codeornumber.value.length==0){ 
2601 alert("法人代码证书号或营业执照编号不能为空"); 
2602 mobj = eval("document.frm.codeornumber"); 
2603 mobj.focus() 
2604 mobj.select() 
2605 return false; 
2606 } 
2607 
2608 if (document.frm.linkman.value.length==0){ 
2609 alert("联系人不能为空"); 
2610 mobj = eval("document.frm.linkman"); 
2611 mobj.focus() 
2612 mobj.select() 
2613 return false; 
2614 } 
2615 if (document.frm.linkmanjob.value.length==0){ 
2616 alert("联系人职位不能为空"); 
2617 mobj = eval("document.frm.linkmanjob"); 
2618 mobj.focus() 
2619 mobj.select() 
2620 return false; 
2621 } 
2622 if (document.frm.phone.value.length==0){ 
2623 alert("电话不能为空"); 
2624 mobj = eval("document.frm.phone"); 
2625 mobj.focus() 
2626 mobj.select() 
2627 return false; 
2628 } 
2629 
2630 if (document.frm.email.value=='') { 
2631 window.alert ("请输入您的E-mail地址 !") 
2632 mobj = eval("document.frm.email"); 
2633 mobj.focus() 
2634 mobj.select() 
2635 return false 
2636 } 
2637 if ( !isEmail(document.frm.email.value,document.frm.email) ) 
2638 return false 
2639 if (document.frm.introduction.value.length==0){ 
2640 alert("公司简介不能为空"); 
2641 mobj = eval("document.frm.introduction"); 
2642 mobj.focus() 
2643 mobj.select() 
2644 return false; 
2645 } 
2646 if (document.frm.positionname.value.length==0){ 
2647 alert("职位名称不能为空"); 
2648 mobj = eval("document.frm.positionname"); 
2649 mobj.focus() 
2650 mobj.select() 
2651 return false; 
2652 } 
2653 if (document.frm.jobaddress.value.length==0){ 
2654 alert("工作地点不能为空"); 
2655 mobj = eval("document.frm.jobaddress"); 
2656 mobj.focus() 
2657 mobj.select() 
2658 return false; 
2659 } 
2660 if (document.frm.jobfunction.value.length==0){ 
2661 alert("工作职责不能为空"); 
2662 mobj = eval("document.frm.jobfunction"); 
2663 mobj.focus() 
2664 mobj.select() 
2665 return false; 
2666 } 
2667 if (document.frm.positionrequre.value.length==0){ 
2668 alert("职位要求不能为空"); 
2669 mobj = eval("document.frm.positionrequre"); 
2670 mobj.focus() 
2671 mobj.select() 
2672 return false; 
2673 } 
2674 if (document.frm.salary.value.length==0){ 
2675 alert("待遇不能为空"); 
2676 mobj = eval("document.frm.salary"); 
2677 mobj.focus() 
2678 mobj.select() 
2679 return false; 
2680 } 
2681 } 
2682 </script> 
2683 
2684 JS代码判断集锦(之二) 
2685 
2686 <INPUT TYPE="button" value="登录" tabindex="4"> 
2687 
2688 <INPUT TYPE="button" value="注册" tabindex="4"> 
2689 
2690 function trim(inputstr) //去处空格,在获取客户端录入的表单信息前, 
2691 都先trim一下再提交 例如:“form1.org_name.value = trim(form1.org_name.value);” 
2692 { 
2693 if(!inputstr.length>0) return ""; 
2694 var starts=0; 
2695 var ends=inputstr.length; 
2696 while(starts<ends) 
2697 { 
2698 if(inputstr.substring(starts,starts+1)==" ") 
2699 starts++; 
2700 else 
2701 break; 
2702 } 
2703 while(starts<ends) 
2704 { 
2705 if(inputstr.substring(ends-1,ends)==" ") 
2706 ends--; 
2707 else 
2708 break; 
2709 } 
2710 return inputstr.substring(starts,ends); 
2711 } 
2712 
2713 function isvalidcode(inputs) //校验邮政编码 
2714 { 
2715 var i,temp; 
2716 var isvalidcode = true; 
2717 inputstr=trim(inputs); 
2718 if(inputstr.length==null||inputstr.length==0||inputstr.length!=6) return false; 
2719 for(i=0;i<inputstr.length;i++) 
2720 { 
2721 temp=inputstr.substring(i,i+1); 
2722 
2723 if(!(temp>="0" && temp<="9")) 
2724 { 
2725 isvalidcode=false; 
2726 break; 
2727 } 
2728 } 
2729 return isvalidcode; 
2730 } 
2731 
2732 function isvalidtel(inputs) //校验电话号码 
2733 { 
2734 var i,temp; 
2735 var isvalidtel = true; 
2736 inputstr=trim(inputs); 
2737 if(inputstr.length==null||inputstr.length==0) return false; 
2738 for(i=0;i<inputstr.length;i++) 
2739 { 
2740 temp=inputstr.substring(i,i+1); 
2741 
2742 if(!(temp>="0" && temp<="9" || temp=="-")) 
2743 { 
2744 isvalidtel=false; 
2745 break; 
2746 } 
2747 } 
2748 return isvalidtel; 
2749 } 
2750 
2751 function isrealnum(inputs) //校验实数(含小数点) 
2752 { 
2753 var i,temp; 
2754 var isrealnum = true; 
2755 inputstr=trim(inputs); 
2756 if(inputstr.length==null||inputstr.length==0) return false; 
2757 for(i=0;i<inputstr.length;i++) 
2758 { 
2759 temp=inputstr.substring(i,i+1); 
2760 
2761 if(!(temp>="0" && temp<="9" || temp==".")) 
2762 { 
2763 isrealnum=false; 
2764 break; 
2765 } 
2766 } 
2767 return isrealnum; 
2768 } 
2769 
2770 function isnumeric(inputs) //校验是否整数 
2771 { 
2772 var i,temp; 
2773 var isnumeric = true; 
2774 inputstr=trim(inputs); 
2775 if(inputstr.length==null||inputstr.length==0) return false; 
2776 //isvalid = true; 
2777 for(i=0;i<inputstr.length;i++) 
2778 { 
2779 temp=inputstr.substring(i,i+1); 
2780 
2781 if(!(temp>="0" && temp<="9")) 
2782 { 
2783 isnumeric=false; 
2784 break; 
2785 } 
2786 } 
2787 return isnumeric; 
2788 } 
2789 
2790 function isvalidide(inputs) //校验身份证 
2791 { 
2792 var i,temp; 
2793 var isvalidide = true; 
2794 inputstr=trim(inputs); 
2795 if(inputstr.length == null || inputstr.length == 0 || (inputstr.length != 15 && inputstr.length != 18)) return false; 
2796 for(i=0;i<inputstr.length;i++) 
2797 { 
2798 temp=inputstr.substring(i,i+1); 
2799 
2800 if(!((temp>="0" && temp<="9") || temp == "x" || temp == "X")) 
2801 { 
2802 isvalidide=false; 
2803 break; 
2804 } 
2805 } 
2806 return isvalidide; 
2807 } 
2808 
2809 function isvalidname(inputs) //校验账号2~15位(即只能是英文字母和数字组成的串) 
2810 { 
2811 var i,temp; 
2812 var isvalidname = true; 
2813 inputstr=trim(inputs); 
2814 if(inputstr.length==null || inputstr.length==0 || inputstr.length > 15 || inputstr.length < 2) return false; 
2815 for(i=0;i<inputstr.length;i++) 
2816 { 
2817 temp=inputstr.substring(i,i+1); 
2818 
2819 if(!((temp >= "0" && temp <= "9") || (temp >= "a" && temp <= "z") || (temp >= "A" && temp <= "Z"))) 
2820 { 
2821 isvalidname=false; 
2822 break; 
2823 } 
2824 } 
2825 return isvalidname; 
2826 } 
2827 
2828 function isvalidphoto(inputs) //校验照片扩展名 
2829 { 
2830 var i,temp; 
2831 var isvalidphoto = true; 
2832 inputstr=trim(inputs); 
2833 if(inputstr.length==null || inputstr.length==0) return true; //没有相片也允许的 
2834 temp=inputstr.substring(inputstr.lastIndexOf(".")+1); 
2835 
2836 temp = temp.toLowerCase(); 
2837 if(!(temp == "bmp" || temp == "jpg" || temp == "gif")) 
2838 { 
2839 isvalidphoto=false; 
2840 } 
2841 return isvalidphoto; 
2842 } 
2843 
2844 function isvalidzgh(inputs) //校验职工号8位(即只能是英文字母和数字组成的串) 
2845 { 
2846 var i,temp; 
2847 var isvalidzgh = true; 
2848 inputstr=trim(inputs); 
2849 if(inputstr.length==null || inputstr.length==0 || inputstr.length != 8) return false; 
2850 for(i=0;i<inputstr.length;i++) 
2851 { 
2852 temp=inputstr.substring(i,i+1); 
2853 
2854 if(!((temp >= "0" && temp <= "9") || (temp >= "a" && temp <= "z") || (temp >= "A" && temp <= "Z"))) 
2855 { 
2856 isvalidzgh=false; 
2857 break; 
2858 } 
2859 } 
2860 return isvalidzgh; 
2861 } 
2862 
2863 function isvalidxh(inputs) //校验学号7位(即只能是英文字母和数字组成的串) 
2864 { 
2865 var i,temp; 
2866 var isvalidxh = true; 
2867 inputstr=trim(inputs); 
2868 if(inputstr.length==null || inputstr.length==0 || inputstr.length != 7) return false; 
2869 for(i=0;i<inputstr.length;i++) 
2870 { 
2871 temp=inputstr.substring(i,i+1); 
2872 
2873 if(!((temp >= "0" && temp <= "9") || (temp >= "a" && temp <= "z") || (temp >= "A" && temp <= "Z"))) 
2874 { 
2875 isvalidxh=false; 
2876 break; 
2877 } 
2878 } 
2879 return isvalidxh; 
2880 } 
2881 
2882 function isvalidkcid(inputs) //校验课程编号5位(即只能是数字组成的串) 
2883 { 
2884 var i,temp; 
2885 var isvalidkcid = true; 
2886 inputstr=trim(inputs); 
2887 if(inputstr.length==null||inputstr.length==0||inputstr.length!=5) return false; 
2888 for(i=0;i<inputstr.length;i++) 
2889 { 
2890 temp=inputstr.substring(i,i+1); 
2891 
2892 if(!(temp>="0" && temp<="9")) 
2893 { 
2894 isvalidkcid=false; 
2895 break; 
2896 } 
2897 } 
2898 return isvalidkcid; 
2899 } 
2900 
2901 function isvalidnamee(inputs) //校验账号4~20位(即只能是英文字母和数字组成的串) 
2902 { 
2903 var i,temp; 
2904 var isvalidname = true; 
2905 inputstr=trim(inputs); 
2906 if(inputstr.length==null || inputstr.length==0 || inputstr.length > 20 || inputstr.length < 4) return false; 
2907 for(i=0;i<inputstr.length;i++) 
2908 { 
2909 temp=inputstr.substring(i,i+1); 
2910 
2911 if(!((temp >= "0" && temp <= "9") || (temp >= "a" && temp <= "z") || (temp >= "A" && temp <= "Z"))) 
2912 { 
2913 isvalidname=false; 
2914 break; 
2915 } 
2916 } 
2917 return isvalidname; 
2918 } 
2919 
2920 
2921 <Script language="JavaScript"> 
2922 function login() 
2923 { 
2924 form1.UNAME.value = trim(form1.UNAME.value); 
2925 form1.PWD.value = trim(form1.PWD.value); 
2926 form1.PWD2.value = trim(form1.PWD2.value); 
2927 form1.EMAIL.value = trim(form1.EMAIL.value); 
2928 form1.NC.value = trim(form1.NC.value); 
2929 if(!isvalidname(form1.UNAME.value)) 
2930 { 
2931 alert("请您注意:用户名必须为『2~15位英文或数字』!"); 
2932 form1.UNAME.focus(); 
2933 return false; 
2934 } 
2935 else if(!isvalidname(form1.PWD.value)) 
2936 { 
2937 alert("请您注意:密码必须为『2~15位英文或数字』!"); 
2938 form1.PWD.focus(); 
2939 return false; 
2940 } 
2941 else if(!isvalidname(form1.PWD2.value)) 
2942 { 
2943 alert("请您注意:密码确认也必须为『2~15位英文或数字』!"); 
2944 form1.PWD2.focus(); 
2945 return false; 
2946 } 
2947 else if(form1.PWD.value != form1.PWD2.value) 
2948 { 
2949 alert("两次密码不一致!"); 
2950 form1.PWD.focus(); 
2951 return false; 
2952 } 
2953 else if(form1.EMAIL.value == "" || form1.EMAIL.value.length > 100) 
2954 { 
2955 alert("请输入邮件!"); 
2956 form1.EMAIL.focus(); 
2957 return false; 
2958 } 
2959 else if(form1.NC.value == "" || form1.NC.value.length > 15) 
2960 { 
2961 alert("请输入昵称!"); 
2962 form1.NC.focus(); 
2963 return false; 
2964 } 
2965 else if(window.confirm("您确信提交!")) 
2966 return true; 
2967 else 
2968 return false; 
2969 } 
2970 
2971 function regedit() 
2972 { 
2973 var litop = (screen.height - 162)/2; 
2974 var lileft = (screen.width - 360)/2; 
2975 window.open("/regedit.aspx", "reg", "titlebar=no,fullscreen=no,dependent=yes,height=162,width=360, 
2976 top=" + litop + ",left=" + lileft + ", 
2977 toolbar=no,menubar=no,scrollbars=no,resizable=no, 
2978 channelmode=no,status=no,location=no,directories=no"); 
2979 } 
2980 </Script> 
2981 
2982 1. 禁止复制(copy),禁用鼠标右键! 
2983 
2984 <SCRIPT> 
2985 //加入页面保护 
2986 function rf() 
2987 {return false; } 
2988 document.oncontextmenu = rf 
2989 function keydown() 
2990 {if(event.ctrlKey ==true || event.keyCode ==93 || event.shiftKey ==true){return false;} } 
2991 document.onkeydown =keydown 
2992 function drag() 
2993 {return false;} 
2994 document.οndragstart=drag 
2995 function stopmouse(e) { 
2996 if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)) 
2997 return false; 
2998 else if 
2999 (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3)) { 
3000 alert("版权没有,但别复制 :)"); 
3001 return false; 
3002 } 
3003 return true; 
3004 } 
3005 document.οnmοusedοwn=stopmouse; 
3006 if (document.layers) 
3007 window.captureEvents(Event.MOUSEDOWN); 
3008 window.οnmοusedοwn=stopmouse; 
3009 
3010 </SCRIPT> 
3011 <script language="javascript"> 
3012 function JM_cc(ob){ 
3013 var obj=MM_findObj(ob); if (obj) { 
3014 obj.select();js=obj.createTextRange();js.execCommand("Copy");} 
3015 } 
3016 
3017 function MM_findObj(n, d) { //v4.0 
3018 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { 
3019 d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} 
3020 if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n]; 
3021 for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document); 
3022 if(!x && document.getElementById) x=document.getElementById(n); return x; 
3023 } 
3024 </script> 
3025 
3026 2. JS和HTML互转 
3027 
3028 <body> 
3029 <style> 
3030 body{font-size:9pt} 
3031 textarea {color="#707888";font-family:"verdana"} 
3032 .inputs {color="#707888";border:1px solid;background:#f4f4f4} 
3033 </style> 
3034 在这里输入你需要转换的格式,可以是JavaScript也可以是DHtml. 
3035 <br> 
3036 <textarea id="codes" style="width:730;height:300"> 
3037 </textarea> 
3038 <br> 
3039 <button class="inputs"> 
3040 清除输出 
3041 </button> 
3042 <button class="inputs"> 
3043 全选代码 
3044 </button> 
3045 <button class="inputs"> 
3046 拷贝代码 
3047 </button> 
3048 <button class="inputs"> 
3049 粘贴代码 
3050 </button> 
3051 <button class="inputs"> 
3052 Js转Html 
3053 </button> 
3054 <button class="inputs"> 
3055 Html转Js 
3056 </button> 
3057 <button class="inputs"> 
3058 点击显示源文件 
3059 </button> 
3060 <button class="inputs"> 
3061 预览代码[F12] 
3062 </button> 
3063 <br> 
3064 这个是输出格式的窗口: 
3065 <br> 
3066 <textarea id="outputs" style="width:730;height:300"></textarea> 
3067 <br> 
3068 一个不好的消息:这个Js转Html部分现在只是支持由这个程序生成的 
3069 <br> 
3070 作者:FlashSoft2000 QQ:14433548 
3071 <input id="hide" style='display:none'> 
3072 <script> 
3073 //定义title 
3074 document.title="多功能网页转换" 
3075 //显示网页源文件 
3076 function writes() 
3077 { 
3078 outputs.value=document.body.outerHTML; 
3079 } 
3080 //清除输出窗口 
3081 function clears() 
3082 { 
3083 outputs.innerHTML=''; 
3084 } 
3085 //替换特定字符 
3086 //n1字符串,n2要替换的字,n3替换的字 
3087 function commute(n1,n2,n3) 
3088 { 
3089 var a1,a2,a3=0,a0='' 
3090 a1=n1.length; 
3091 a2=n2.length; 
3092 for(x=0;x<=(a1-a2);x++) 
3093 { 
3094 if(n1.substr(x,a2)==n2) 
3095 { 
3096 a0+=n1.substring(a3,x); 
3097 a0+=n3; 
3098 x+=(a2-1); 
3099 a3=x+1; 
3100 } 
3101 } 
3102 if(a3<a1)a0+=n1.substring(a3,a1) 
3103 { 
3104 return a0; 
3105 } 
3106 } 
3107 //转换JavaScript为DHtml 
3108 function js2html() 
3109 { 
3110 hide.value=codes.value 
3111 hide.value=commute(hide.value,'\\"','"'); 
3112 hide.value=commute(hide.value,'document.write("',''); 
3113 hide.value=commute(hide.value,'")',''); 
3114 hide.value=commute(hide.value,'<script>',''); 
3115 hide.value=commute(hide.value,'<\/script>',''); 
3116 outputs.value=hide.value 
3117 } 
3118 //转换DHtml为JavaScript 
3119 function html2js() 
3120 { 
3121 hide.value=codes.value 
3122 hide.value=commute(hide.value,'"','\\"'); 
3123 hide.value=commute(hide.value,'\\','\\\\'); 
3124 hide.value=commute(hide.value,'<\/script>','<\\/script>'); 
3125 outputs.value="<script>document.write(\""+hide.value+"\")<\/script>" 
3126 } 
3127 //预览代码 
3128 function seeHtm() 
3129 { 
3130 open().document.write("<title>测试代码窗口</title>"+outputs.value); 
3131 } 
3132 //用快捷键F12预览 
3133 document.οnkeydοwn=seeHtms 
3134 function seeHtms() 
3135 { 
3136 if((event.keyCode==123)) 
3137 { 
3138 open().document.write("<title>测试代码窗口</title>"+outputs.value); 
3139 } 
3140 } 
3141 //全选代码 
3142 function ta() 
3143 { 
3144 outputs.select() 
3145 } 
3146 //拷贝代码 
3147 function tc() 
3148 { 
3149 document.execCommand("Copy") 
3150 } 
3151 //粘贴代码 
3152 function tp() 
3153 { 
3154 outputs.focus() 
3155 document.execCommand("Paste") 
3156 } 
3157 </script> 
3158 
3159 
3160 广告JS代码效果大全 
3161 1.[普通效果] 
3162 现在很多网站广告做的如火如荼,现在我就来介绍一下常见的对联浮动广告效果的代码使用方法,介绍的这种效果,在1024*768分辨率下正常显示,在800*600的分辨率下可以自动隐藏,以免遮住页面影响访问者浏览内容,下面就是实现效果所需代码: 
3163 
3164 
3165 var delta=0.015 
3166 var collection; 
3167 function floaters() { 
3168 this.items = []; 
3169 this.addItem = 
3170 function(id,x,y,content) 
3171 { 
3172 document.write('<DIV id='+id+' style="Z-INDEX: 0; POSITION: absolute; width:80px; height:60px;left:'+(typeof(x)=='string'?eval(x):x)+';top:'+(typeof(y)=='string'?eval(y):y)+'">'+content+'</DIV>'); 
3173 
3174 var newItem = {}; 
3175 newItem.object = document.getElementById(id); 
3176 newItem.x = x; 
3177 newItem.y = y; 
3178 
3179 this.items[this.items.length] = newItem; 
3180 } 
3181 this.play = 
3182 function() 
3183 { 
3184 collection = 
3185 this.items 
3186 setInterval('play()',10); 
3187 } 
3188 } 
3189 function play() 
3190 { 
3191 if(screen.width<=800) 
3192 { 
3193 for(var i=0;i<collection.length;i++) 
3194 { 
3195 collection.object.style.display = 'none'; 
3196 } 
3197 return; 
3198 } 
3199 for(var i=0;i<collection.length;i++) 
3200 { 
3201 var followObj = collection.object; 
3202 var followObj_x = (typeof(collection.x)=='string'?eval(collection.x):collection.x); 
3203 var followObj_y = (typeof(collection.y)=='string'?eval(collection.y):collection.y); 
3204 
3205 if(followObj.offsetLeft!=(document.body.scrollLeft+followObj_x)) { 
3206 var dx=(document.body.scrollLeft+followObj_x-followObj.offsetLeft)*delta; 
3207 dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx)); 
3208 followObj.style.left=followObj.offsetLeft+dx; 
3209 } 
3210 
3211 if(followObj.offsetTop!=(document.body.scrollTop+followObj_y)) { 
3212 var dy=(document.body.scrollTop+followObj_y-followObj.offsetTop)*delta; 
3213 dy=(dy>0?1:-1)*Math.ceil(Math.abs(dy)); 
3214 followObj.style.top=followObj.offsetTop+dy; 
3215 } 
3216 followObj.style.display = ''; 
3217 } 
3218 } 
3219 
3220 var theFloaters = 
3221 new floaters(); 
3222 theFloaters.addItem('followDiv1','document.body.clientWidth-100',0,'</a><br><a href=广告链接地址 target=_blank><img src=广告图片地址 width=100 height=400 border=0></a>' target=_blank); 
3223 theFloaters.addItem('followDiv2',0,0,'<br><a href=广告链接地址 target=_blank><img src=广告图片地址 width=100 height=400 border=0></a>' target=_blank); 
3224 theFloaters.play(); 
3225 
3226 把上面的代码另存为一个JS文件,然后在想实现此效果的页面用 调用即可!注意修改广告图片地址和连接地址! 
3227 
3228 
3229 广告JS代码效果大全 
3230 
3231 2.[鼠标感应] 
3232 与前面一个代码不同的是,当鼠标移动到广告图片上是可以感应显示另外设置好的广告大图效果,下面就是实现效果所需代码: 
3233 
3234 function bigshow(){ 
3235 document.all.div_250.style.visibility = 'visible'; 
3236 document.all.div_80.style.visibility = 'hidden'; 
3237 } 
3238 function bighide(){ 
3239 document.all.div_80.style.visibility = 'visible'; 
3240 document.all.div_250.style.visibility = 'hidden'; 
3241 } 
3242 
3243 var ad_80= new Array(1); 
3244 var ad_250= new Array(1); 
3245 
3246 ad_80[0]="<a href=http://www.dfeng.net target=_blank><img src=/skin/adv43/ad/ad_ad.gif border=0></a>"; 
3247 ad_250[0]="<a href=http://www.dfeng.net target=_blank><img src=/skin/adv43/ad/ad_ad2.gif border=0></a>"; 
3248 
3249 var imgheight; 
3250 var fubioleft; 
3251 window.screen.width>800 ? fubioleft=15:fubioleft=15 
3252 
3253 document.write('<DIV id=floater_left style="Z-INDEX: 25; LEFT:'+fubioleft+'px; WIDTH: 28px;POSITION: absolute; TOP: 42px; HEIGHT: 22px">'); 
3254 
3255 ad_now = new Date(); 
3256 ad_id= ad_now.getSeconds() %1 
3257 
3258 var adhead1="<div id=div_80 style='position:absolute; width:95px; height:62px; z-index:12' onMouseOver=bigshow();>"; 
3259 var adhead2="</div><div id=div_250 style='position:absolute; visibility: hidden; z-index:13;width: 80; height: 60' onMouseOut=bighide();>"; 
3260 
3261 //var adhead1="<div id=div_80 style='position:absolute; width:95px; height:62px; z-index:20' onMouseOut='//MM_showHideLayers(\"div_250\",\"\",\"hide\")' onMouseOver='MM_showHideLayers(\"div_250\",\"\",\"show\")'>"; 
3262 //var adhead2="</div><div id=div_250 style='position:absolute; z-index:21;visibility: hidden; width: 80; height: 60' onMouseOver='MM_showHideLayers(\"div_250\",\"\",\"show\")' onMouseOut='MM_showHideLayers(\"div_250\",\"\",\"hide\")'>"; 
3263 
3264 document.write(adhead1+ad_80[ad_id]+adhead2+ad_250[ad_id]+"</div>"); 
3265 
3266 document.write ("</div>"); 
3267 self.onError=null; 
3268 currentX = currentY = 0; 
3269 whichIt = null; 
3270 lastScrollX = 0; lastScrollY = 0; 
3271 NS = (document.layers) ? 1 : 0; 
3272 IE = (document.all) ? 1: 0; 
3273 function heartBeat() { 
3274 if(IE) { 
3275 diffY = document.body.scrollTop; 
3276 diffX = document.body.scrollLeft; } 
3277 if(NS) { 
3278 diffY = self.pageYOffset; diffX = self.pageXOffset; } 
3279 if(diffY != lastScrollY) { 
3280 percent = .5 * (diffY - lastScrollY); 
3281 if(percent > 0) percent = Math.ceil(percent); 
3282 else percent = Math.floor(percent); 
3283 if(IE) document.all.floater_left.style.pixelTop += percent; 
3284 if(NS) document.floater_left.top += percent; 
3285 lastScrollY = lastScrollY + percent; 
3286 } 
3287 if(diffX != lastScrollX) { 
3288 percent = .5 * (diffX - lastScrollX); 
3289 if(percent > 0) percent = Math.ceil(percent); 
3290 else percent = Math.floor(percent); 
3291 if(IE) document.all.floater_left.style.pixelLeft += percent; 
3292 if(NS) document.floater_left.left += percent; 
3293 lastScrollX = lastScrollX + percent; 
3294 } 
3295 } 
3296 
3297 if(NS || IE) action = window.setInterval("heartBeat()",1);var ad_80= new Array(1); 
3298 var ad_250= new Array(1); 
3299 
3300 ad_80[0]="<a href=http://www.dfeng.net target=_blank><img src=/skin/adv43/ad/ad_ad.jpg border=0></a>"; 
3301 ad_250[0]="<a href=http://www.dfeng.net target=_blank><img src=/skin/adv43/ad/ad_ad.jpg border=0></a>"; 
3302 
3303 var imgheight; 
3304 var fubioleft; 
3305 window.screen.width>800 ? fubioleft=15:fubioleft=15 
3306 
3307 document.write('<DIV id=floater_right style="Z-INDEX: 25; LEFT:'+fubioleft+'px; WIDTH: 28px;POSITION: absolute; TOP: 42px; HEIGHT: 22px">'); 
3308 
3309 ad_now = new Date(); 
3310 ad_id= ad_now.getSeconds() %1 
3311 
3312 function myload() 
3313 { 
3314 if (navigator.appName == "Netscape") 
3315 { 
3316 document.div_right_80.pageX=+window.innerWidth-130; 
3317 document.div_right_250.pageX=+window.innerWidth-300; 
3318 mymove(); 
3319 } 
3320 else 
3321 { 
3322 div_right_80.style.left=document.body.offsetWidth-130; 
3323 div_right_250.style.left=document.body.offsetWidth-300; 
3324 mymove(); 
3325 } 
3326 } 
3327 
3328 function mymove() 
3329 { 
3330 if(document.ns) 
3331 { 
3332 document.div_right_80.left=pageXOffset+window.innerWidth-130; 
3333 document.div_right_250.left=pageXOffset+window.innerWidth-300; 
3334 setTimeout("mymove();",20) 
3335 } 
3336 else 
3337 { 
3338 div_right_80.style.left=document.body.scrollLeft+document.body.offsetWidth-145; 
3339 div_right_250.style.left=document.body.scrollLeft+document.body.offsetWidth-300; 
3340 setTimeout("mymove();",20) 
3341 } 
3342 } 
3343 
3344 var adhead1="<div id=div_right_80 style='position:absolute; width:95px; height:60px; z-index:12' onMouseOver=bigshow_right();>"; 
3345 var adhead2="</div><div id=div_right_250 style='position:absolute; visibility: hidden; z-index:13;width: 250; height: 250' onMouseOut=bighide_right();><div align=right>"; 
3346 
3347 document.write(adhead1+ad_80[ad_id]+adhead2+ad_250[ad_id]+"</div></div>"); 
3348 
3349 myload() 
3350 
3351 document.write ("</div>"); 
3352 self.onError=null; 
3353 currentX_right = currentY_right = 0; 
3354 whichIt_right = null; 
3355 lastScrollX_right = 0; lastScrollY_right = 0; 
3356 NS = (document.layers) ? 1 : 0; 
3357 IE = (document.all) ? 1: 0; 
3358 function heartBeat_right() { 
3359 if(IE) { 
3360 diffY_right = document.body.scrollTop; 
3361 diffX_right = document.body.scrollLeft; } 
3362 if(NS) { 
3363 diffY_right = self.pageYOffset; diffX_right = self.pageXOffset; } 
3364 if(diffY_right != lastScrollY_right) { 
3365 percent_right = .5 * (diffY_right - lastScrollY_right); 
3366 if(percent_right > 0) percent_right = Math.ceil(percent_right); 
3367 else percent_right = Math.floor(percent_right); 
3368 if(IE) document.all.floater_right.style.pixelTop += percent_right; 
3369 if(NS) document.floater_right.top += percent_right; 
3370 lastScrollY_right = lastScrollY_right + percent_right; 
3371 } 
3372 if(diffX_right != lastScrollX_right) { 
3373 percent_right = .5 * (diffX_right - lastScrollX_right); 
3374 if(percent_right > 0) percent_right = Math.ceil(percent_right); 
3375 else percent_right = Math.floor(percent_right); 
3376 if(IE) document.all.floater_right.style.pixelLeft += percent_right; 
3377 if(NS) document.floater_right.left += percent_right; 
3378 lastScrollX_right = lastScrollX_right + percent_right; 
3379 } 
3380 } 
3381 
3382 if(NS || IE) action = window.setInterval("heartBeat_right()",1); 
3383 function bigshow_right(){ 
3384 document.all.div_right_250.style.visibility = 'visible'; 
3385 document.all.div_right_80.style.visibility = 'hidden'; 
3386 } 
3387 function bighide_right(){ 
3388 document.all.div_right_80.style.visibility = 'visible'; 
3389 document.all.div_right_250.style.visibility = 'hidden'; 
3390 }document.write(''); 
3391 document.write(''); 
3392 document.write(''); 
3393 
3394 
3395 
3396 3.[允许关闭] 
3397 与前面两个代码不同的是,广告图下方增加了一个图片按纽,允许访客点击关闭广告图片,下面文本框中就是实现效果所需代码: 
3398 
3399 var delta=0.015; 
3400 var collection; 
3401 var closeB=false; 
3402 function floaters() { 
3403 this.items = []; 
3404 this.addItem = function(id,x,y,content) 
3405 { 
3406 document.write('<DIV id='+id+' style="Z-INDEX: 10; POSITION: absolute; width:80px; height:60px;left:'+(typeof(x)=='string'?eval(x):x)+';top:'+(typeof(y)=='string'?eval(y):y)+'">'+content+'</DIV>'); 
3407 
3408 var newItem = {}; 
3409 newItem.object = document.getElementById(id); 
3410 newItem.x = x; 
3411 newItem.y = y; 
3412 
3413 this.items[this.items.length] = newItem; 
3414 } 
3415 this.play = function() 
3416 { 
3417 collection = this.items 
3418 setInterval('play()',30); 
3419 } 
3420 } 
3421 function play() 
3422 { 
3423 if(screen.width<=800 || closeB) 
3424 { 
3425 for(var i=0;i<collection.length;i++) 
3426 { 
3427 collection.object.style.display = 'none'; 
3428 } 
3429 return; 
3430 } 
3431 for(var i=0;i<collection.length;i++) 
3432 { 
3433 var followObj = collection.object; 
3434 var followObj_x = (typeof(collection.x)=='string'?eval(collection.x):collection.x); 
3435 var followObj_y = (typeof(collection.y)=='string'?eval(collection.y):collection.y); 
3436 
3437 if(followObj.offsetLeft!=(document.body.scrollLeft+followObj_x)) { 
3438 var dx=(document.body.scrollLeft+followObj_x-followObj.offsetLeft)*delta; 
3439 dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx)); 
3440 followObj.style.left=followObj.offsetLeft+dx; 
3441 } 
3442 
3443 if(followObj.offsetTop!=(document.body.scrollTop+followObj_y)) { 
3444 var dy=(document.body.scrollTop+followObj_y-followObj.offsetTop)*delta; 
3445 dy=(dy>0?1:-1)*Math.ceil(Math.abs(dy)); 
3446 followObj.style.top=followObj.offsetTop+dy; 
3447 } 
3448 followObj.style.display = ''; 
3449 } 
3450 } 
3451 function closeBanner() 
3452 { 
3453 closeB=true; 
3454 return; 
3455 } 
3456 
3457 var theFloaters = new floaters(); 
3458 // 
3459 theFloaters.addItem('followDiv1','document.body.clientWidth-100',0,'<a href=http://www.dfeng.net target=_blank><img src=ad/doublead/right.gif width=100 height=554 border=0></a><br><br><img src=ad/doublead/close.gif >'); 
3460 theFloaters.addItem('followDiv2',0,0,'<a href=http://www.dfeng.net target=_blank><img src=ad/doublead/ad_ad.gif width=100 height=400 border=0 ></a><br><br><img src=ad/doublead/close.gif >'); 
3461 theFloaters.play(); 
3462 
3463 
3464 把上面的代码分别另存为两个JS文件,然后在想实现此效果的页面用 
3465 
3466 <script type="text/javascript" language="javascript1.2" src="*.js"></SCRIPT> 
3467 
3468 调用即可,*代表你另存的文件名!注意修改广告图片地址和连接地址! 
3469 
3470 
3471 广告JS代码效果大全 
3472 
3473 4.[浮动对联广告---之左侧代码] 
3474 
3475 如果您想只有一侧显示的话,下面是实现左侧效果所需代码: 
3476 
3477 var ad_float_left_src ="图片地址"; 
3478 var ad_float_left_url ="地址"; 
3479 var ad_float_left_type = ""; 
3480 document.ns = navigator.appName == "Microsoft Internet Explorer" 
3481 
3482 var imgheight_close 
3483 var imgleft 
3484 window.screen.width>800 ? imgheight_close=120:imgheight_close=120 
3485 window.screen.width>800 ? imgleft=8:imgleft=122 
3486 function myload() 
3487 { 
3488 myleft.style.top=document.body.scrollTop+document.body.offsetHeigh 
3489 t-imgheight_close; 
3490 myleft.style.left=imgleft; 
3491 leftmove(); 
3492 } 
3493 function leftmove() 
3494 { 
3495 myleft.style.top=document.body.scrollTop+document.body.offsetHeigh 
3496 t-imgheight_close; 
3497 myleft.style.left=imgleft; 
3498 setTimeout("leftmove();",50) 
3499 } 
3500 
3501 function MM_reloadPage(init) { //reloads the window if Nav4 
3502 resized 
3503 if (init==true) with (navigator) {if ((appName=="Netscape")&& 
3504 (parseInt(appVersion)==4)) { 
3505 document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; 
3506 οnresize=MM_reloadPage; }} 
3507 else if (innerWidth!=document.MM_pgW || innerHeight! 
3508 =document.MM_pgH) location.reload(); 
3509 } 
3510 MM_reloadPage(true) 
3511 
3512 function close_float_left(){ 
3513 myleft.style.visibility='hidden'; 
3514 } 
3515 
3516 document.write("<div id=myleft style='position: 
3517 absolute;width:80;top:300;left:5;visibility: visible;z-index: 1'>" 
3518 +"<style>" 
3519 +"A.closefloat:link,A.refloat:visited {text- 
3520 decoration:none;color:#000000;font-size:12px}" 
3521 +"A.closefloat:active,A.refloat:hover {text-decoration:underline;color:#0000FF;font-size:12px}" 
3522 +"</style>" 
3523 +"<table border=0 cellpadding=0 cellspacing=0><tr><td>"); 
3524 
3525 if(document.ns){ 
3526 if(ad_float_left_type!="swf") 
3527 document.write("<a href='" + ad_float_left_url + "' target 
3528 = '_blank'><img src='" + ad_float_left_src + "' WIDTH=88 
3529 height=31 border=0></a>"); 
3530 else 
3531 document.write("<EMBED src='" + ad_float_left_src + "' 
3532 quality=high WIDTH=80 HEIGHT=80 TYPE='application/x-shockwave- 
3533 flash' id=changhongout ></EMBED>"); 
3534 
3535 document.write("</td></tr><tr><td width=80 height=20 
3536 align=right><a href='javascript:close_float_left( target=_blank);void(0);' 
3537 class=closefloat><b><font color=#ff0000>关闭</font></b></a></td></tr>" 
3538 +"</table>" 
3539 +"</div>"); 
3540 
3541 myload()} 
3542 
3543 
3544 [ 5.背投广告] 
3545 
3546 <script language="javascript"> 
3547 <!-- 
3548 var sohu=window.open('http://www.sohu.com\'); 
3549 var ads=window.open('about:blank','ads','width=700,height=400'); 
3550 sohu.focus(); 
3551 ads.document.open(); 
3552 ads.document.write ("<html><head><title>ads</title></head><body>This is background ads</body></html>"); 
3553 ads.document.close(); 
3554 //--> 
3555 </script> 
3556 
3557 
3558 
3559 [ 6.收缩广告] 
3560 
3561 <script language="javascript"> 
3562 <!-- 
3563 var bwidth=800; 
3564 var bheight=400; 
3565 function go() { 
3566 bwidth = bwidth - 10; 
3567 bheight = bheight - 5; 
3568 if(bwidth <= 10) 
3569 { ads.style.display='none';clearTimeout("my"); } 
3570 else 
3571 { ads.outerHTML='<span id="ads" style="width:'+bwidth+'px;height:'+bheight+'px;background-color:#0099FF;"></span>';} 
3572 var my=setTimeout("go()",50); 
3573 } 
3574 setTimeout("go()",6000); 
3575 //--> 
3576 </script> 
3577 <body topmargin="0" leftmargin="0"> 
3578 <div align="center"><span id="ads" style="width:800px;height:400px;background-color:#0099FF"></span></div> 
3579 </body> 
3580 
3581 把上面的代码另存为三个*.JS文件,然后在想实现此效果的页面用 
3582 
3583 CODE: 
3584 <script src="*.js"></SCRIPT> 
3585 
3586 调用即可,*代表你另存的文件名!注意修改广告图片地址和连接地址!相应的参数可以根据页面自行调整 
3587 
3588 js幻灯片播放器 
3589 
3590 var _c = 0; 
3591 var _i = 0; 
3592 var _v = 0; 
3593 var _l = 0; 
3594 var _sf = 3000; 
3595 var _html = null; 
3596 var _image = null; 
3597 var _mycars= new Array(); 
3598 var _w = new Array(); 
3599 var _h = new Array(); 
3600 
3601 function adRotator() {} 
3602 
3603 function adRotator.add(p,w,h) 
3604 { 
3605 _mycars[_c] = p; 
3606 _w[_c] = w; 
3607 _h[_c] = h; 
3608 _c = _c + 1; 
3609 } 
3610 
3611 /* 播放设置 */ 
3612 function adRotator.loads() 
3613 { 
3614 if (_i < _mycars.length && _l < 1) 
3615 { 
3616 _html = '<img src="' + _mycars[_i] + '" width="' + _w[_i] + '" height="' + _h[_i] + '" style="border:1px solid #CCCCCC;">' 
3617 if (_v < 1) 
3618 { 
3619 document.getElementById('image').value = _html + ',' + _i; 
3620 document.getElementById('rotatorPlayer').innerHTML = _html; 
3621 _i = _i + 1; 
3622 document.getElementById('backs').disabled=''; 
3623 window.setTimeout("adRotator.loads("+_i+")",_sf); 
3624 } 
3625 } 
3626 else 
3627 { 
3628 _html = '<img src="' + _mycars[_i] + '" width="' + _w[_i] + '" height="' + _h[_i] + '" style="border:1px solid #CCCCCC;">' 
3629 document.getElementById('image').value = _html + ',' + _i; 
3630 document.getElementById('rotatorPlayer').innerHTML = _html; 
3631 } 
3632 if (_i+1 > _mycars.length) 
3633 { 
3634 document.getElementById('stops').disabled='True'; 
3635 document.getElementById('play').disabled=''; 
3636 document.getElementById('backs').disabled=''; 
3637 document.getElementById('next').disabled='True'; 
3638 _i = 0; 
3639 _v = 1; 
3640 } 
3641 } 
3642 
3643 /* 播放 */ 
3644 function adRotator.play() 
3645 { 
3646 _v = 0; 
3647 _l = 0; 
3648 adRotator.loads(); 
3649 } 
3650 
3651 /* 下一张 */ 
3652 function adRotator.next() 
3653 { 
3654 _l = 1; 
3655 if(_i+1 < _mycars.length) 
3656 { 
3657 _i = _i + 1; 
3658 document.getElementById('play').disabled=''; 
3659 document.getElementById('stops').disabled='True'; 
3660 document.getElementById('backs').disabled=''; 
3661 adRotator.loads(); 
3662 } 
3663 else 
3664 { 
3665 document.getElementById('next').disabled='True'; 
3666 } 
3667 } 
3668 
3669 /* 上一张 */ 
3670 function adRotator.backs() 
3671 { 
3672 _l = 1; 
3673 if(_i-1 < 0) 
3674 { 
3675 document.getElementById('backs').disabled='True'; 
3676 } 
3677 else 
3678 { 
3679 _i = _i - 1; 
3680 document.getElementById('play').disabled=''; 
3681 document.getElementById('stops').disabled='True'; 
3682 document.getElementById('next').disabled=''; 
3683 adRotator.loads(); 
3684 } 
3685 } 
3686 
3687 /* 间隔时间 */ 
3688 function adRotator.set() 
3689 { 
3690 var _sfc = document.getElementById('second').value; 
3691 if (isInteger(_sfc)) 
3692 { 
3693 _sf = _sfc * 1000; 
3694 } 
3695 else 
3696 { 
3697 alert('提示:只能输入数字!'); 
3698 document.getElementById('second').value=1; 
3699 document.getElementById('second').select(); 
3700 } 
3701 } 
3702 
3703 /* 字符检测 */ 
3704 function isInteger(str) 
3705 { 
3706 var regu = /^[-]{0,1}[0-9]{1,}$/; 
3707 return regu.test(str); 
3708 } 
3709 
3710 /* 暂停 */ 
3711 function adRotator.stops() 
3712 { 
3713 _v = 1; 
3714 } 
3715 
3716 /* 添加图片,还要加的话注意图片名字就好了,后面400,300是大小 */ 
3717 adRotator.add("1.jpg",400,300); 
3718 adRotator.add("2.jpg",400,300); 
3719 adRotator.add("3.jpg",400,300); 
3720 
3721 
3722 把以上文件存为一个JS文件 
3723 

3724 在下面文件中引用即可 
3725 
3726 <style type="text/css"> 
3727 <!-- 
3728 body { font-size:12px; 
3729 } 
3730 input { 
3731 border-right: #7b9ebd 1px solid; 
3732 padding-right: 2px; 
3733 border-top: #7b9ebd 1px solid; 
3734 padding-left: 2px; 
3735 font-size: 12px; 
3736 filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#ffffff, EndColorStr=#cecfde); 
3737 border-left: #7b9ebd 1px solid; 
3738 cursor: hand; 
3739 color: black; 
3740 padding-top: 2px; 
3741 border-bottom: #7b9ebd 1px solid; 
3742 } 
3743 button { 
3744 border-right: #7b9ebd 1px solid; 
3745 padding-right: 2px; 
3746 border-top: #7b9ebd 1px solid; 
3747 padding-left: 2px; 
3748 font-size: 12px; 
3749 filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#ffffff, EndColorStr=#cecfde); 
3750 border-left: #7b9ebd 1px solid; 
3751 cursor: hand; 
3752 color: black; 
3753 padding-top: 2px; 
3754 border-bottom: #7b9ebd 1px solid; 
3755 } 
3756 --> 
3757 </style> 
3758 <script language="javascript" src="test.js"> 
3759 </script> 
3760 
3761 
3762 <body > 
3763 <div id="rotatorPlayer"></div> 
3764 
3765 <input type="button" name="play" value="开始播放" disabled="True"/> 
3766 <input type="button" name="stops" value="暂停" /> 
3767 <input type="button" name="backs" value="上一张" disabled="true"/> 
3768 <input type="button" name="next" value="下一张" /> 
3769 <input type="text" id="second" value="3" size="3" maxlength="2"> 
3770 3771 <input type="button" value="设置时间" /> 
3772 
3773 <input name="image" type="text" size="65"/> 
3774 
3775 
3776 一个非常棒的播放器,可惜如果图片是非常大的话,那结果有点惨! 
3777 
3778 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/panxuan/archive/2007/11/26/1902826.aspx

 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页