查看文章 |
1。一个js文件。 如果其中有对ID的获取操作,最好把代码加载在HTML语言后面。。否则,会产生错误! 原因很简单,html都没有加载,怎么能获取到呢? 但是,如果是特效的话,似乎还是放head区域比较好的! 2。防止表单的重复提交: <form name="form1" method="post" action="" onSubmit='submitonce(this)'> 3.关于浮动代码和 documentElement / body 常常有人提问,为什么 漂浮广告 / 对联代码 在 xHTML 1.1 DTD 文件头 / FF 下不能使用 这是因为,按照标准来说,我们看到的窗体的滚动条不应该是 body 的,而是 HTML 的(也就是 document.documentElement 对象) 所以,解决办法是,把以前不标准的代码中, document.body.scrollTop 或者类似的代码变换为 document.documentElement.scrollTop 4.让图片支持缩小放大 <script language="JavaScript"> 5。用js来构造邮件地址 如果你的邮件地址是abc@mail.com,那么你可以利用JavaScript编写一段小小的程序: <a href="javascript:navigate('mai' + 'lto:' + 'abc' + '@' + 'mail.com')">给我发信</a> 这样可以巧妙地隐藏你的邮件地址,而且在点击链接的时候弹出Outlook的功能却没有丝毫减少。 6。用js实现代码的COPY操作 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>用js实现代码的复制功能</title> <script language="javascript"> function copycode(obj) { var rng = document.body.createTextRange(); rng.moveToElementText(obj); rng.scrollIntoView(); rng.select(); rng.execCommand("Copy"); rng.collapse(false); } function findobj(n, d) { var p, i, x; if(!d) d = document; if((p = n.indexOf("?"))>0 && parent.frames.length) { d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p); } if(x != d[n] && d.all) x = d.all[n]; for(i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n]; for(i = 0; !x && d.layers && i < d.layers.length; i++) x = findobj(n, d.layers[i].document); if(!x && document.getElementById) x = document.getElementById(n); return x; } </script> </head> <body> <a href="javascript:;" onclick="copycode(findobj('code'));">复制代码</a></p> <p> <pre id="code"> <!--[if IE 5]> <h1> <h1>这些文字只有在IE5 或 IE5.5 才可以看得见. </h1></h1> <![endif]--> </pre> </p> </body> </html> [ 可以先修改再运行 ] 7。 用CSS+JS实现用flash做背景 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <style type="text/css"> <!-- body { background:url("JAVASCRIPT:window.onload=function plays(){ var player='<object type="application/x-shockwave-flash" width="210" height="20"><param name="movie" value="http://www.0hao2.com/flash/mp3player1.swf?&mp3=http://plus.snailcn.com/upload/M.mp3"></object>'; music.innerHTML=player;}"); } --> </style> <div id="music">播放器</div> <div>来源:http://bbs.blueidea.com/thread-2695148-1-1.html</div> [ 可以先修改再运行 ] 8. JS一些基础的东西 很有用哦 location 地址对象 它描述的是某一个窗口对象所打开的地址。要表示当前窗口的地址,只需要使用“location”就行了;若要表示某一个窗口的地址,就使用“<窗口对象>.location”。 9 禁止ctrl+n和 禁止ctrl+r和 禁止shift+f10 禁止鼠标右键or左右键 和禁止f5 <script> //禁止ctrl+n和 禁止ctrl+r和 禁止shift+f10 禁止鼠标右键or左右键 和禁止f5 var oLastBtn=0,bIsMenu=false if (window.Event) { document.captureEvents(Event.MOUSEUP); } function nocontextmenu() { event.cancelBubble=true; event.returnValue=false; return false; } function norightclick(e) { if(window.Event) { if (e.which !=1) { return false; } } else if(event.button!=1) { event.cancelBubble=true; event.returnValue=false; return false; } } document.oncontextmenu=nocontextmenu; document.onmousedown=norightclick; function onKeyDown() { if ((event.altKey)||((event.keyCode==8)&&(event.srcElement.type!="text"&&event.srcElement.type!="textarea"&&event.srcElement.type!="password"))||((event.ctrlKey)&&((event.keyCode==78)||(event.keyCode==82)))||(event.keyCode==116)) { event.keyCode=0; event.returnValue=false; } } </script> <body onkeydown="onKeyDown()"> //禁止ctrl+n和 禁止ctrl+r和 禁止shift+f10 禁止鼠标右键or左右键 和禁止f5 </body> [ 可以先修改再运行 ] IE7 IE6下有效 FF下无效。。需要改进。。 10 . 加入收藏夹代码。。 IE7 + FF有效 <script> function addfavorite(){ if (document.all){ window.external.addFavorite(window.location.href,'描述息'); } else if (window.sidebar) { window.sidebar.addPanel('描述信息', window.location.href, ""); } } </script> <a href="#" onclick="addfavorite()">把本站加入收藏</a> [ 可以先修改再运行 ] 设为首页: <a href="#;" onclick="this.addBehavior('#default#homepage');>加入收藏</a> [ 可以先修改再运行 ] 11.在一些JS应用中,涉及到CSS的重新渲染(即页面样式需要更新)的话,IE死活不变。 此时你需要让IE重新渲染一下: function handleIEhasLayout(){ 来源:realazy 12:用透明度+JS结合实现渐变 <script language="JavaScript"> <script language="JavaScript"> nereidFadeObjects = new Object(); nereidFadeTimers = new Object(); function nereidFade(object, destOp, rate, delta){ if (!document.all) return if (object != "[object]"){ file://do this so I can take a string too setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0); return; } clearTimeout(nereidFadeTimers[object.sourceIndex]); diff = destOp-object.filters.alpha.opacity; direction = 1; if (object.filters.alpha.opacity > destOp){ direction = -1; } delta=Math.min(direction*diff,delta); object.filters.alpha.opacity+=direction*delta; if (object.filters.alpha.opacity != destOp){ nereidFadeObjects[object.sourceIndex]=object; nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate); } } </script> <img src="http://chenefei.com/upload/Gtalk.jpg" border="0" style="FILTER: alpha(opacity=100)" onmouseover="nereidFade(this,50,50,5)" onmouseout="nereidFade(this,100,50,5)"> [ 可以先修改再运行 ] 14 .用JS来处理图片变形的问题,等比例缩放图片,还能防止图片在加载过程中因为图片太大而引起的变形 <script language="JavaScript" type="text/javascript"> <img src="XXXX" alt="自动缩放后的效果" width="200" height="200" onload="javascript:DrawImage(this,"200","200");" /> 这里给图片设置了固定的大小。用了JS函数之后,不影响效果:)15.关于脚本,在xhtml1.1中不支持language属性 只需要把代码改为 <script type="text/javascript"> 16.JS 的页面跳转脚本 <script language="javascript"> location.assign ("HTTP://chenefei.com") </script> [ 可以先修改再运行 ] 17. IE下用JS去掉所有链接和图片的焦点(因点击而产生的虚线框) function bluring(){ <body oncontextmenu="return false"> 19 . 让div显示在select上面 二法 A: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 19.用Javascript来修复IE下PNG 透明图不显示透明的问题 // 说明:修复 IE 下 PNG 图片不能透明显示的问题 // 整理:http://www.CodeBit.cn function fixPNG(myImage) { var arVersion = navigator.appVersion.split("MSIE"); var version = parseFloat(arVersion[1]); if ((version >= 5.5) && (version < 7) && (document.body.filters)) { var imgID = (myImage.id) ? "id='" + myImage.id + "' " : ""; var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : ""; var imgTitle = (myImage.title) ? "title='" + myImage.title + "' " : "title='" + myImage.alt + "' "; var imgStyle = "display:inline-block;" + myImage.style.cssText; var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + myImage.width + "px; height:" + myImage.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + myImage.src + "\', sizingMethod='scale');\"></span>"; myImage.outerHTML = strNewHTML; } } 20.JS对浏览器的版本判断 |