js 常用代码

 

  • 事件源对象
    event.srcElement.tagName
    event.srcElement.type
  • 捕获释放
    event.srcElement.setCapture();  
    event.srcElement.releaseCapture();  
  • 事件按键
    event.keyCode
    event.shiftKey
    event.altKey
    event.ctrlKey
  • 事件返回值
    event.returnValue
  • 鼠标位置
    event.x
    event.y
  • 窗体活动元素
    document.activeElement
  • 绑定事件
    document.captureEvents(Event.KEYDOWN);
  • 访问窗体元素
    document.all("txt").focus();
    document.all("txt").select();
  • 窗体命令
    document.execCommand
  • 窗体COOKIE
    document.cookie
  • 菜单事件
    document.oncontextmenu
  • 创建元素
    document.createElement("SPAN");  
  • 根据鼠标获得元素:
    document.elementFromPoint(event.x,event.y).tagName=="TD
    document.elementFromPoint(event.x,event.y).appendChild(ms)  
  • 窗体图片
    document.images[索引]
  • 窗体事件绑定
    document.οnmοusedοwn=scrollwindow;
  • 元素
    document.窗体.elements[索引]
  • 对象绑定事件
    document.all.xxx.detachEvent('onclick',a);
  • 插件数目
    navigator.plugins
  • 取变量类型
    typeof($js_libpath) == "undefined"
  • 下拉框
    下拉框.options[索引]
    下拉框.options.length
  • 查找对象
    document.getElementsByName("r1");
    document.getElementById(id);
  • 定时
    timer=setInterval('scrollwindow()',delay);
    clearInterval(timer);
  • UNCODE编码
    escape() ,unescape
  • 父对象
    obj.parentElement(dhtml)
    obj.parentNode(dom)
  • 交换表的行
    TableID.moveRow(2,1)
  • 替换CSS
    document.all.csss.href = "a.css";
  • 并排显示
    display:inline
  • 隐藏焦点
    hidefocus=true
  • 根据宽度换行
    style="word-break:break-all"
  • 自动刷新
  • 简单邮件
      
  • 快速转到位置
    obj.scrollIntoView(true)


  • anchors
  • 网页传递参数
    location.search();
  • 可编辑
    obj.contenteditable=true
  • 执行菜单命令
    obj.execCommand
  • 双字节字符
    /[^"x00-"xff]/
    汉字
    /["u4e00-"u9fa5]/
  • 让英文字符串超出表格宽度自动换行
    word-wrap: break-word; word-break: break-all;
  • 透明背景
  • 获得style内容
    obj.style.cssText
  • HTML标签
    document.documentElement.innerHTML
  • 第一个style标签
    document.styleSheets[0]
  • style标签里的第一个样式
    document.styleSheets[0].rules[0]
  • 防止点击空链接时,页面往往重置到页首端。
    word
  • 上一网页源
    asp:
    request.servervariables("HTTP_REFERER")
    javascript:
    document.referrer
  • 释放内存
    CollectGarbage();
  • 禁止右键
    document.oncontextmenu = function() { return false;}
  • 禁止保存
  • 禁止选取
    favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下
  • 收藏栏图标
  • 查看源码
  • 关闭输入法
  • 自动全选
  • ENTER键可以让光标移到下一个输入框
  • 文本框的默认值
  • title换行
    obj.title = "123 sdfs "
  • 获得时间所代表的微秒
    var n1 = new Date("2004-10-10".replace(/-/g, ""/")).getTime()
  • 窗口是否关闭
    win.closed

  • checkbox扁平

  • 获取选中内容
    document.selection.createRange().duplicate().text
  • 自动完成功能
    打开该功能  
    关闭该功能
  • 窗口最大化
  • 无关闭按钮IE window.open("aa.htm", "meizz", "fullscreen=7");
  • 统一编码/解码 alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe")))
    encodeURIComponent对":"、"/"、";" 和 "?"也编码
高级应用(一) ~~~~~~~~~~~~~~


//各种尺寸

s  +=  ""r"n网页可见区域宽:"+  document.body.clientWidth;   
s  +=  ""r"n网页可见区域高:"+  document.body.clientHeight;   
s  +=  ""r"n网页可见区域高:"+  document.body.offsetWeight  +"  (包括边线的宽)";   
s  +=  ""r"n网页可见区域高:"+  document.body.offsetHeight  +"  (包括边线的宽)";   
s  +=  ""r"n网页正文全文宽:"+  document.body.scrollWidth;   
s  +=  ""r"n网页正文全文高:"+  document.body.scrollHeight;   
s  +=  ""r"n网页被卷去的高:"+  document.body.scrollTop;   
s  +=  ""r"n网页被卷去的左:"+  document.body.scrollLeft;   
s  +=  ""r"n网页正文部分上:"+  window.screenTop;   
s  +=  ""r"n网页正文部分左:"+  window.screenLeft;   
s  +=  ""r"n屏幕分辨率的高:"+  window.screen.height;   
s  +=  ""r"n屏幕分辨率的宽:"+  window.screen.width;   
s  +=  ""r"n屏幕可用工作区高度:"+  window.screen.availHeight;   
s  +=  ""r"n屏幕可用工作区宽度:"+  window.screen.availWidth;   




//过滤数字

"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">


//特殊用途

"window.external.ImportExportFavorites(true,'http://localhost');">
"window.external.ImportExportFavorites(false,'http://localhost');">

"window.external.ShowBrowserUI('OrganizeFavorites', null)"
>
"window.external.ShowBrowserUI('LanguageDialog', null)">
"window.external.AddFavorite('http://www.google.com/', 'google')">
"window.external.addChannel('http://www.google.com/')">
"window.external.showBrowserUI('PrivacySettings',null)">


//不缓存

"pragma" CONTENT="no-cache">
"Cache-Control"
CONTENT="no-cache, must-revalidate">
"expires"
CONTENT="0">


//正则匹配

匹配中文字符的正则表达式: ["u4e00-"u9fa5]
匹配双字节字符(包括汉字在内):[^"x00-"xff]
匹配空行的正则表达式:"n["s| ]*"r
匹配HTML标记的正则表达式:/<(.*)>.*<"/"1>|<(.*) "/>/  
匹配首尾空格的正则表达式:(^"s*)|("s*$)(像vbscript那样的trim函数)
匹配Email地址的正则表达式:"w+([-+.]"w+)*@"w+([-.]"w+)*"."w+([-.]"w+)*
匹配网址URL的正则表达式:http://(["w-]+".)+["w-]+(/["w- ./?%&=]*)?
以下是例子:
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:οnkeyup="value=value.replace(/[^"u4E00-"u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^"u4E00-"u9FA5]/g,''))"
1.用正则表达式限制只能输入全角字符: οnkeyup="value=value.replace(/[^"uFF00-"uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^"uFF00-"uFFFF]/g,''))"
2.用正则表达式限制只能输入数字:οnkeyup="value=value.replace(/[^"d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^"d]/g,''))"
3.用正则表达式限制只能输入数字和英文:οnkeyup="value=value.replace(/["W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^"d]/g,''))"



//消除图像工具栏

"mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="false">  
or

"imagetoolbar"
content="no">



//无提示关闭

function Close()
{
var ua=navigator.userAgent
var ie=navigator.appName=="Microsoft Internet Explorer"?true:false
if(ie)
{
      var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE "))))
  if(IEversion< 5.5)
  {
   var str  = '"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">'
       str += '"Command" value="Close">
';
       document.body.insertAdjacentHTML("beforeEnd", str);
       document.all.noTipClose.Click();
  }
      else
  {
       window.opener =null;
       window.close();
      }
   }
else
{
  window.close()
   }
}




//取得控件得绝对位置(1)





//获得控件的绝对位置(2)

oRect = obj.getBoundingClientRect();
oRect.left
oRect.



//最小化,最大化,关闭

"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">  
"Command" value="Minimize">
  
"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">  
"Command" value="Maximize">
  
"clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">  
"Command" value="Close">
  
  
  
  



//光标停在文字最后



"123"
οnfοcus="cc()">


//页面进入和退出的特效

进入页面"Page-Enter" content="revealTrans(duration=x, transition=y)">
推出页面"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  



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



//打印分页 "page-break-after:always">page1

   
"page-break-after:always"
>page2

   




//设置打印

"factory" style="display:none" viewastext
  classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
  codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"
>

"factory.printing.PageSetup()"
>
"factory.printing.Preview()"
>
  

"打印本页"
οnclick="factory.printing.Print(false)">
"页面设置" οnclick="factory.printing.PageSetup()">
"打印预览" οnclick="factory.printing.Preview()">

打开一个窗口
注意:使用的“#”是虚连接。
方法四:用一个按钮调用:



【4、同时弹出2个窗口】

对源代码稍微改动一下:

为避免弹出的2个窗口覆盖,用top和left控制一下弹出的位置不要相互覆盖即可。最后用上面说过的四种方法调用即可。

注意:2个窗口的name(newwindows和newwindow2)不要相同,或者干脆全部为空。ok?


【5、主窗口打开文件1.htm,同时弹出小窗口page.html】

如下代码加入主窗口区:

加入区:
open即可。


【6、弹出的窗口之定时关闭控制】

下面我们再对弹出的窗口进行一些控制,效果就更好了。如果我们再将一小段代码加入弹出的页面(注意是加入到page.html的html中,可不是主页面中,否则...),让它10秒后自动关闭是不是更酷了?

首先,将如下代码加入page.html文件的区:

然后,再用 这一句话代替page.html中原有的这一句就可以了。(这一句话千万不要忘记写啊!这一句的作用是调用关闭窗口的代码,10秒钟后就自行关闭该窗口。)


【7、在弹出窗口中加上一个关闭按钮】





呵呵,现在更加完美了!


【8、内包含的弹出窗口-一个页面两个窗口】

上面的例子都包含两个窗口,一个是主窗口,另一个是弹出的小窗口。

通过下面的例子,你可以在一个页面内完成上面的效果。





打开一个窗口



看看 openwindow.document.write()里面的代码不就是标准的html吗?只要按照格式写更多的行即可。千万注意多一个标签或少一个标签就会出现错误。记得用openwindow.document.close()结束啊。
【9、终极应用--弹出的窗口之cookie控制】

回想一下,上面的弹出窗口虽然酷,但是有一点小毛病(沉浸在喜悦之中,一定没有发现吧?)比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页),那么每次刷新这个页面,窗口都会弹出一次,是不是非常烦人?:-(有解决的办法吗?yes! ;-) follow me.

我们使用cookie来控制一下就可以了。

首先,将如下代码加入主页面html的区:

然后,用(注意不是openwin而是loadpop啊!)替换主页面中原有的这一句即可。你可以试着刷新一下这个页面或重新进入该页面,窗口再也不会弹出了。真正的pop-only-once!
强力弹窗代码:

JS代码判断集锦(之一) ~~~~~~~~~~~~~~~~~~




JS代码判断集锦(之二)





//

function trim(inputstr) //去处空格,在获取客户端录入的表单信息前,
都先trim一下再提交 例如:“form1.org_name.value = trim(form1.org_name.value);”
{
if(!inputstr.length>0) return "";
var starts=0;
var ends=inputstr.length;
while(starts{
if(inputstr.substring(starts,starts+1)==" ")
starts++;
else
break;
}
while(starts{
if(inputstr.substring(ends-1,ends)==" ")
ends--;
else
break;
}
return inputstr.substring(starts,ends);
}

function isvalidcode(inputs) //校验邮政编码
{
var i,temp;
var isvalidcode = true;
inputstr=trim(inputs);
if(inputstr.length==null||inputstr.length==0||inputstr.length!=6) return false;
for(i=0;i{
temp=inputstr.substring(i,i+1);

if(!(temp>="0" && temp<="9"))
{
isvalidcode=false;
break;
}
}
return isvalidcode;
}

function isvalidtel(inputs) //校验电话号码
{
var i,temp;
var isvalidtel = true;
inputstr=trim(inputs);
if(inputstr.length==null||inputstr.length==0) return false;
for(i=0;i{
temp=inputstr.substring(i,i+1);

if(!(temp>="0" && temp<="9" || temp=="-"))
{
isvalidtel=false;
break;
}
}
return isvalidtel;
}

function isrealnum(inputs) //校验实数(含小数点)
{
var i,temp;
var isrealnum = true;
inputstr=trim(inputs);
if(inputstr.length==null||inputstr.length==0) return false;
for(i=0;i{
temp=inputstr.substring(i,i+1);

if(!(temp>="0" && temp<="9" || temp=="."))
{
isrealnum=false;
break;
}
}
return isrealnum;
}

function isnumeric(inputs) //校验是否整数
{
var i,temp;
var isnumeric = true;
inputstr=trim(inputs);
if(inputstr.length==null||inputstr.length==0) return false;
//isvalid = true;
for(i=0;i{
temp=inputstr.substring(i,i+1);

if(!(temp>="0" && temp<="9"))
{
isnumeric=false;
break;
}
}
return isnumeric;
}

function isvalidide(inputs) //校验身份证
{
var i,temp;
var isvalidide = true;
inputstr=trim(inputs);
if(inputstr.length == null || inputstr.length == 0 || (inputstr.length != 15 && inputstr.length != 18)) return false;
for(i=0;i{
temp=inputstr.substring(i,i+1);

if(!((temp>="0" && temp<="9") || temp == "x" || temp == "X"))
{
isvalidide=false;
break;
}
}
return isvalidide;
}

function isvalidname(inputs) //校验账号2~15位(即只能是英文字母和数字组成的串)
{
var i,temp;
var isvalidname = true;
inputstr=trim(inputs);
if(inputstr.length==null || inputstr.length==0 || inputstr.length > 15 || inputstr.length < 2) return false;
for(i=0;i{
temp=inputstr.substring(i,i+1);

if(!((temp >= "0" && temp <= "9") || (temp >= "a" && temp <= "z") || (temp >= "A" && temp <= "Z")))
{
isvalidname=false;
break;
}
}
return isvalidname;
}

function isvalidphoto(inputs) //校验照片扩展名
{
var i,temp;
var isvalidphoto = true;
inputstr=trim(inputs);
if(inputstr.length==null || inputstr.length==0) return true; //没有相片也允许的
temp=inputstr.substring(inputstr.lastIndexOf(".")+1);

temp = temp.toLowerCase();
if(!(temp == "bmp" || temp == "jpg" || temp == "gif"))
{
isvalidphoto=false;
}
return isvalidphoto;
}

function isvalidzgh(inputs) //校验职工号8位(即只能是英文字母和数字组成的串)
{
var i,temp;
var isvalidzgh = true;
inputstr=trim(inputs);
if(inputstr.length==null || inputstr.length==0 || inputstr.length != 8) return false;
for(i=0;i{
temp=inputstr.substring(i,i+1);

if(!((temp >= "0" && temp <= "9") || (temp >= "a" && temp <= "z") || (temp >= "A" && temp <= "Z")))
{
isvalidzgh=false;
break;
}
}
return isvalidzgh;
}

function isvalidxh(inputs) //校验学号7位(即只能是英文字母和数字组成的串)
{
var i,temp;
var isvalidxh = true;
inputstr=trim(inputs);
if(inputstr.length==null || inputstr.length==0 || inputstr.length != 7) return false;
for(i=0;i{
temp=inputstr.substring(i,i+1);

if(!((temp >= "0" && temp <= "9") || (temp >= "a" && temp <= "z") || (temp >= "A" && temp <= "Z")))
{
isvalidxh=false;
break;
}
}
return isvalidxh;
}

function isvalidkcid(inputs) //校验课程编号5位(即只能是数字组成的串)
{
var i,temp;
var isvalidkcid = true;
inputstr=trim(inputs);
if(inputstr.length==null||inputstr.length==0||inputstr.length!=5) return false;
for(i=0;i{
temp=inputstr.substring(i,i+1);

if(!(temp>="0" && temp<="9"))
{
isvalidkcid=false;
break;
}
}
return isvalidkcid;
}

function isvalidnamee(inputs) //校验账号4~20位(即只能是英文字母和数字组成的串)
{
var i,temp;
var isvalidname = true;
inputstr=trim(inputs);
if(inputstr.length==null || inputstr.length==0 || inputstr.length > 20 || inputstr.length < 4) return false;
for(i=0;i{
temp=inputstr.substring(i,i+1);

if(!((temp >= "0" && temp <= "9") || (temp >= "a" && temp <= "z") || (temp >= "A" && temp <= "Z")))
{
isvalidname=false;
break;
}
}
return isvalidname;
}


==========================

1. 禁止复制(copy),禁用鼠标右键!




2. JS和HTML互转 ~~~~~~~~~  



在这里输入你需要转换的格式,可以是JavaScript也可以是DHtml.






清除输出


全选代码


拷贝代码


粘贴代码


Js转Html


Html转Js


点击显示源文件


预览代码[F12]



这个是输出格式的窗口:





一个不好的消息:这个Js转Html部分现在只是支持由这个程序生成的


作者:FlashSoft2000 QQ:14433548


   


[ 6.收缩广告]
   
   
   
   
   

******************************************************************************
    把上面的代码另存为三个*.JS文件,然后在想实现此效果的页面用
     
    CODE:
   
   
    调用即可,*代表你另存的文件名!注意修改广告图片地址和连接地址!相应的参数可以根据页面自行调整
js幻灯片播放器~~~~~~~~~~

var _c = 0;
var _i = 0;
var _v = 0;
var _l = 0;
var _sf = 3000;
var _html = null;
var _image = null;
var _mycars= new Array();
var _w = new Array();
var _h = new Array();

function adRotator() {}

function adRotator.add(p,w,h)
{
   _mycars[_c] = p;
   _w[_c] = w;
   _h[_c] = h;
   _c = _c + 1;
}

/* 播放设置 */
function  adRotator.loads()
{
   if (_i < _mycars.length && _l < 1)
   {
     _html = ''
     if (_v < 1)
     {
        document.getElementById('image').value = _html + ',' + _i;
        document.getElementById('rotatorPlayer').innerHTML = _html;
        _i = _i + 1;
  document.getElementById('backs').disabled='';
        window.setTimeout("adRotator.loads("+_i+")",_sf);
     }
   }
   else
   {
     _html = ''
  document.getElementById('image').value = _html + ',' + _i;
     document.getElementById('rotatorPlayer').innerHTML = _html;
   }
   if (_i+1 > _mycars.length)
   {
      document.getElementById('stops').disabled='True';
   document.getElementById('play').disabled='';
   document.getElementById('backs').disabled='';
   document.getElementById('next').disabled='True';
   _i = 0;
   _v = 1;
   }
}

/* 播放 */
function  adRotator.play()
{
   _v = 0;
   _l = 0;
   adRotator.loads();
}

/* 下一张 */
function adRotator.next()
{
   _l = 1;
   if(_i+1 < _mycars.length)
   {
      _i = _i + 1;
   document.getElementById('play').disabled='';
   document.getElementById('stops').disabled='True';
   document.getElementById('backs').disabled='';
   adRotator.loads();
   }
   else
   {
      document.getElementById('next').disabled='True';
   }
}

/* 上一张 */
function adRotator.backs()
{
   _l = 1;
   if(_i-1 < 0)
   {
      document.getElementById('backs').disabled='True';
   }
   else
   {
      _i = _i - 1;
   document.getElementById('play').disabled='';
   document.getElementById('stops').disabled='True';
   document.getElementById('next').disabled='';
   adRotator.loads();
   }
}

/* 间隔时间 */
function adRotator.set()
{
   var _sfc = document.getElementById('second').value;
   if (isInteger(_sfc))
   {
     _sf = _sfc * 1000;
   }
   else
   {
     alert('提示:只能输入数字!');
     document.getElementById('second').value=1;
     document.getElementById('second').select();
   }
}

/* 字符检测 */
function isInteger(str)
{  
  var regu = /^[-]{0,1}[0-9]{1,}$/;
  return regu.test(str);
}

/* 暂停 */
function adRotator.stops()
{
   _v = 1;
}

/* 添加图片,还要加的话注意图片名字就好了,后面400,300是大小 */
adRotator.add("1.jpg",400,300);
adRotator.add("2.jpg",400,300);
adRotator.add("3.jpg",400,300);


把以上文件存为一个JS文件

在下面文件中引用即可




     








   









一个非常棒的播放器,可惜如果图片是非常大的话,那结果有点惨!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部