zzwell

no pains ,no gains...
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[转载]40种网站设计常用技巧

Posted on 2009-02-13 22:06  zzwell  阅读(98)  评论(0)    收藏  举报

   1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键
   <table border oncontextmenu=return(false)><td>no</table> 可用于Table

   2. <body onselectstart="return false"> 取消选取、防止复制

   3. onpaste="return false" 不准粘贴

   4. oncopy="return false;" oncut="return false;" 防止复制

   5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标

   6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标

   7. <input style="ime-mode:disabled"> 关闭输入法

   8. 永远都会带着框架
   <script language="JavaScript"><!--
   if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页
   // --></script>

   9. 防止被人frame
   <SCRIPT LANGUAGE=JAVASCRIPT><!--    
   if (top.location != self.location)top.location=self.location;
   // --></SCRIPT>

   10. 网页将不能被另存为
   <noscript><iframe src="/blog/*.html>";</iframe></noscript>    

   11. <input type=button value=查看网页源代码    
   onclick="window.location = "view-source:"+ "http://www.williamlong.info"">

   12.删除时确认
   <a href="javascript:if(confirm("确实要删除吗?"))location="boos.asp?&areyou=删除&page=1"">删除</a>    

   13. 取得控件的绝对位置
   //Javascript
   <script language="Javascript">
   function getIE(e){
   var t=e.offsetTop;
   var l=e.offsetLeft;
   while(e=e.offsetParent)
   alert("top="+t+"/nleft="+l);
   }
   </script>

   //VBScript
   <script language="VBScript"><!--
   function getIE()
   dim t,l,a,b
   set a=document.all.img1
   t=document.all.img1.offsetTop
   l=document.all.img1.offsetLeft
   while a.tagName<>"BODY"
   set a = a.offsetParent
   t=t+a.offsetTop
   l=l+a.offsetLeft
   wend
   msgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"
   end function
   --></script>

   14. 光标是停在文本框文字的最后
   <script language="javascript">
   function cc()
   {
   var e = event.srcElement;
   var r =e.createTextRange();
   r.moveStart("character",e.value.length);
   r.collapse(true);
   r.select();
   }
   </script>
   <input type=text name=text1 value="123" onfocus="cc()">

   15. 判断上一页的来源
   javascript:
   document.referrer

16. 最小化、最大化、关闭窗口
   <object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">    
   <param name="Command" value="Minimize"></object>
   <object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">    
   <param name="Command" value="Maximize"></object>
   <OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
   <PARAM NAME="Command" VALUE="Close"></OBJECT>
   <input type=button value=最小化 onclick=hh1.Click()>
   <input type=button value=最大化 onclick=hh2.Click()>
   <input type=button value=关闭 onclick=hh3.Click()>
   本例适用于IE

   17.屏蔽功能键Shift,Alt,Ctrl
   <script>
   function look(){    
   if(event.shiftKey)    
   alert("禁止按Shift键!"); //可以换成ALT CTRL
   }    
   document.onkeydown=look;    
   </script>

   18. 网页不会被缓存
   <META HTTP-EQUIV="pragma" CONTENT="no-cache">
   <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
   <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
   或者<META HTTP-EQUIV="expires" CONTENT="0">

   19.怎样让表单没有凹凸感?
   <input type=text style="border:1 solid #000000">    
   或
   <input type=text style="border-left:none; border-right:none; border-top:none; border-bottom:    

   1 solid #000000"></textarea>

   20.<div><span>&<layer>的区别?    
   <div>(division)用来定义大段的页面元素,会产生转行    
   <span>用来定义同一行内的元素,跟<div>的唯一区别是不产生转行    
   <layer>是ns的标记,ie不支持,相当于<div>

   21.让弹出窗口总是在最上面:
   <body onblur="this.focus();">

   22.不要滚动条?    
   让竖条没有:    
   <body style="overflow:scroll;overflow-y:hidden">    
   </body>    
   让横条没有:    
   <body style="overflow:scroll;overflow-x:hidden">    
   </body>    
   两个都去掉?更简单了    
   <body scroll="no">    
   </body>    

   23.怎样去掉图片链接点击后,图片周围的虚线?
   <a href="#" onFocus="this.blur()"><img src="/blog/logo.jpg" border=0></a>

   24.电子邮件处理提交表单
   <form name="form1" method="post" action="mailto:****@***.com" enctype="text/plain">    
   <input type=submit>
   </form>

   25.在打开的子窗口刷新父窗口的代码里如何写?
   window.opener.location.reload()

   26.如何设定打开页面的大小
   <body onload="top.resizeTo(300,200);">
   打开页面的位置<body onload="top.moveBy(300,200);">

   27.在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动    
   <STYLE>    
   body    
   {background-image:url(/blog/logo.gif); background-repeat:no-repeat;    
   background-position:center;background-attachment: fixed}    
   </STYLE>    

   28. 检查一段字符串是否全由数字组成
   <script language="Javascript"><!--
   function checkNum(str){return str.match(//D/)==null}
   alert(checkNum("1232142141"))
   alert(checkNum("123214214a1"))
   // --></script>

   29. 获得一个窗口的大小
   document.body.clientWidth; document.body.clientHeight

   30. 怎么判断是否是字符
   if (/[^/x00-/xff]/g.test(s)) alert("含有汉字");
   else alert("全是字符");

   31.TEXTAREA自适应文字行数的多少
   <textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight">
   </textarea>

   32. 日期减去天数等于第二个日期
   <script language=Javascript>
   function cc(dd,dadd)
   {
   //可以加上错误处理
   var a = new Date(dd)
   a = a.valueOf()
   a = a - dadd * 24 * 60 * 60 * 1000
   a = new Date(a)
   alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")
   }
   cc("12/23/2002",2)
   </script>

   33. 选择了哪一个Radio
   <HTML><script language="vbscript">
   function checkme()
   for each ob in radio1
   if ob.checked then window.alert ob.value
   next
   end function
   </script><BODY>
   <INPUT name="radio1" type="radio" value="style" checked>Style
   <INPUT name="radio1" type="radio" value="barcode">Barcode
   <INPUT type="button" value="check" onclick="checkme()">
   </BODY></HTML>

   34.脚本永不出错
   <SCRIPT LANGUAGE="JavaScript">    
   <!-- Hide    
   function killErrors() {    
   return true;    
   }    
   window.onerror = killErrors;    
   // -->    
   </SCRIPT>

   35.ENTER键可以让光标移到下一个输入框
   <input onkeydown="if(event.keyCode==13)event.keyCode=9">

36. 检测某个网站的链接速度:
   把如下代码加入<body>区域中:
   <script language=Javascript>
   tim=1
   setInterval("tim++",100)
   b=1
   var autourl=new Array()
   autourl[1]="www.njcatv.net"
   autourl[2]="javacool.3322.net"
   autourl[3]="www.sina.com.cn"
   autourl[4]="www.nuaa.edu.cn"
   autourl[5]="www.cctv.com"
   function butt(){
   document.write("<form name=autof>")
   for(var i=1;i<autourl.length;i++)
   document.write("<input type=text name=txt"+i+" size=10 value="/blog/测试中......>" =》<input type=text    
   name=url"+i+" size=40> =》<input type=button value=GO    

   onclick=window.open(this.form.url"+i+".value)><br>")
   document.write("<input type=submit value=刷新></form>")
   }
   butt()
   function auto(url)
   else

   b++
   }
   function run(){for(var i=1;i<autourl.length;i++)document.write("<img src=http://"+autourl+"/"+Math.random()+" width=1 height=1    

   onerror=auto("http://"+autourl+"")>")}
   run()</script>

   37. 各种样式的光标
   auto :标准光标
   default :标准箭头
   hand :手形光标
   wait :等待光标
   text :I形光标
   vertical-text :水平I形光标
   no-drop :不可拖动光标
   not-allowed :无效光标
   help :?帮助光标
   all-scroll :三角方向标
   move :移动标
   crosshair :十字标
   e-resize
   n-resize
   nw-resize
   w-resize
   s-resize
   se-resize
   sw-resize

   38.页面进入和退出的特效
   进入页面<meta http-equiv="Page-Enter" content="revealTrans(duration=x, transition=y)">
   推出页面<meta http-equiv="Page-Exit" content="revealTrans(duration=x, transition=y)">   
   这个是页面被载入和调出时的一些特效。duration表示特效的持续时间,以秒为单位。transition表示使用哪种特效,取值为1-23:
     0 矩形缩小    
     1 矩形扩大    
     2 圆形缩小
     3 圆形扩大    
     4 下到上刷新    
     5 上到下刷新
     6 左到右刷新    
     7 右到左刷新    
     8 竖百叶窗
     9 横百叶窗    
     10 错位横百叶窗    
     11 错位竖百叶窗
     12 点扩散    
     13 左右到中间刷新    
     14 中间到左右刷新
     15 中间到上下
     16 上下到中间    
     17 右下到左上
     18 右上到左下    
     19 左上到右下    
     20 左下到右上
     21 横条    
     22 竖条    
     23 以上22种随机选择一种

   39.在规定时间内跳转
   <META http-equiv=V="REFRESH" content="5;URL=http://www.williamlong.info">    

   40.网页是否被检索
   <meta name="ROBOTS" content="属性值">
     其中属性值有以下一些:
     属性值为"all": 文件将被检索,且页上链接可被查询;
     属性值为"none": 文件不被检索,而且不查询页上的链接;
     属性值为"index": 文件将被检索;
     属性值为"follow": 查询页上的链接;
     属性值为"noindex": 文件不检索,但可被查询链接;
     属性值为"nofollow": 文件不被检索,但可查询页上的链接。

   最大化窗口?
   <script language="JavaScript">
   <!--
   self.moveTo(0,0)
   self.resizeTo(screen.availWidth,screen.availHeight)
   //-->
   </script>

  


   解决问题:由于层与下拉框之间的优先级是:下拉框 > 层,因此在显示的时候,会因为优先级的次序而会出现如上问题。(如果几个元素都是层的话,我们可以通过层的 z-index 属性来设置)解决办法就是:给层中放一个优先级比下拉框更高的元素(iframe),从而解决此问题!具体解决代码如下:

   <div id="menu" style="position:absolute; visibility:hidden; top:20px; left:20px; width:100px; height:200px; background-color:#6699cc;">
   <table>
   <tr><td>item 1</td></tr>
   <tr><td>item 2</td></tr>
   <tr><td>item 3</td></tr>
   <tr><td>item 4</td></tr>
   <tr><td>item 5</td></tr>
   </table>
   <iframe src="/blog/javascript:false" style="position:absolute; visibility:inherit; top:0px; left:0px; width:100px; height:200px; z-index:-1; filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';"></iframe>
   </div>

   <a href="#" onclick="document.getElementById('menu').style.visibility='visible'">menu</a>

   <form>
   <select><option>A form selection list</option></select>
   </form>

   输入框也可以做的很漂亮了
   <div align="center"><input type="hidden" name="hao" value="yes">
                           外向数:<input    
             name=answer    
             style="color: rgb(255,0,0); border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid rgb(192,192,192)">
                          没回答的题数:<input    
             name=unanswer id="unanswer"    
             style="color: rgb(255,0,0); border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid rgb(192,192,192)">
                         <br>
                         总得分:
                         <input    
             name=score id="score"    
             style="color: rgb(255,0,0); border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid rgb(192,192,192)">
                          结    论:
                         <input    
             name=xgjg id="xgjg"    
             style="color: rgb(255,0,0); border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid rgb(192,192,192)">
                         <br>
                         <br>    
                       
                         <input onClick=processForm(this.form) style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt" type=button value=查看结果 name="button">    
                        <input type="reset" name="Submit" value="重做">
                         </div>
   注意:修改<body>为<body onload="max.Click()">即为打开最大

   化窗口,而如果改为<body onload="min.Click()">就变为窗口一打开就最小化

   <object id="min" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
                         <param name="Command" value="Minimize">
                  </object> <object id="max" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
                         <param name="Command" value="Maximize">
                  </object>
   </body>

   页面自动刷新(说明)

   当你做网页时,是不是有的时候想让你的网页自动不停刷新,或者过一段时间自动跳转到另外一个你自己设定的页面?其实实现这个效果非常地简单,而且这个效果甚至不能称之为特效。你只要把如下代码加入你的网页中就可以了。

   1,页面自动刷新:把如下代码加入<head>区域中<meta http-equiv="refresh" content="20">,其中20指每隔20秒刷新一次页面.

   2,页面自动跳转:把如下代码加入<head>区域中<meta http-equiv="refresh" content="20;url=http://www.williamlong.info">,其中20指隔20秒后跳转到http://www.williamlong.info页面。    

   页面自动关闭

   5000是指时间<body onLoad="setTimeout(window.close, 5000)">    

   弹出窗口自动关闭    

   10秒后弹出窗口自动关闭

   注意:在新的tan.htm的body中要加 <onLoad="closeit()">
   head

   <script language="JavaScript">

   <!--

   var gt = unescape('%3e');

   var popup = null;

   var over = "Launch Pop-up Navigator";

   popup = window.open('', 'popupnav', 'width=225,height=235,resizable=1,scrollbars=auto');

   if (popup != null) {

   if (popup.opener == null) {

   popup.opener = self;    

   }

   popup.location.href = 'tan.htm';

   }

   // -->

   </script>
   <body>注意:这段代码是在新建文件中的
   <script language="JavaScript">

function closeit()    

</script>

   这个可不是<iframe>(引用)呀。是直接调用的。以下代码加入<body>区域

   <object type="text/x-scriptlet" width="800"     height="1000" data="../index.htm">
   </object>

 

转载:http://bbs.51js.com/frame.php?frameon=yes