JS面试题

bluepebble 贡献于2012-08-05

作者 USER  创建于2009-04-18 16:05:00   修改者USER  修改于2009-04-18 16:15:00字数44931

文档摘要:第一题编写一个方法求一个字符串的字节长度第二题如何控制alert中的换行第三题解释document.getElementById("ElementID").style.fontSize="1.5em"
关键词:

第一题 编写一个方法 求一个字符串的字节长度 第二题 如何控制alert中的换行 第三题 解释document.getElementById("ElementID").style.fontSize="1.5em" 第四题 将一个类似图中的效果分离成css和html 第五题 按照格式 xxxx年xx月xx日xx时xx分xx秒动态显示时间 要求不足10的补0 第六题 编写一个方法 去掉一个数组的重复元素 第七题 说出3条以上ff和ie的脚本兼容问题 第八题 按要求写一个简单的ajax示例 简单的没意义 就不写了 1. 2. 3. em是个相对单位。 5. 6. 8. loading
数据正在加载......
javascript面试题汇总 1、form中的input有哪些类型?各是做什么处理使用的? text radio checkbox file button image submit reset hidden   submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了。      如果表单在点击提交按钮后需要用JS进行处理(包括输入验证)后再提交的话,通常都必须把submit改成button, 即取消其自动提交的行为,否则,将会造成提交两次的效果,对于动态网页来说,也就是对数据库操作两次。 button具有name、value属性,能触发onclick事件 submit继承了button submit增加了触发表单onsubmit事件的功能、增加了执行表单的submit()方法的功能 INPUT type=submit按回车提交表单 button提交的是innerTEXT 2、table标签中border,cellpadding td标签中colspan,rowspan分别起什么作用? border边界 cellpadding边距   cellpadding,是补白,是指单元格内文字与边框的距离 cellspacing,两个单元格之间的距离 colspan跨列数 rowspan跨行数 3、form中的input可以设置readonly和disable,请问这两项属性有什么区别? readonly不可编辑,但可以选择和复制 disable不能编辑复制选择 4、JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么? alert confirm prompt 5.题目:当点击按钮时,如何实现两个td的值互换? 用javascript实现此功能。 分析: 这个题主要是考变量传值。其次是考如何取元素的值。 第一种代码如下: Code 1 2 3 4 5无标题文档 6 30 31 32 33 34 35 36 37 38 第二种代码如下: Code 1 2 3 4 5无标题文档 6 30 31 32 33 34 35 36 37 38 39 40 41 42
321445
123133
43 44 45在一般编程语言中, 参数都是"传值", 假设一个C函数的原型是int Fun(int value); 当你调用这个函数时, Fun函数首先会在自己的函数栈上copy一份参数, 就是这个函数的副本, 当你在Fun外部修改value值, 并不会影响Fun内部的value. 而Javascript的内嵌函数很特殊, 它并不会copy一个参数副本, 所有函数公用一套参数, 所以你在函数外部修改了参数值, 函数内部也会受影响. 这就是为什么你的show函数, 它的z参数是最后一个值, 因为每一次循环, z都被更改了. 传值和传址的问题 javascript面试题 滤镜filter:alpha(opacity=80, finishOpacity=0, style=1, startX=70); 2008-09-19 19:51 题1.给Array原型添加一个方法,这个方法接受一个参数,如果这个参数在数组中存在那么就把它从数组中删除。 题2.对下面这个对象进行克隆. var student = { name:"zhang3", sno:"20080328", age:"20", call:function(){alert(this.name+this.sno+this.age);} }; 题3.写一个简单form表单,当光标离开表单的时候把表单的值发送给后台(使用AJAX)。类似于163邮箱(http://mail.163.com/)的注册功能. 试题一: Array.prototype.a=function(x){ for(var i=0;i      name
address Alpha 滤镜 //CSS例 .menu{ background:#3399ff;width:100;height:300; filter:alpha(opacity=80, finishOpacity=0, style=1, startX=70);} 语法:{FILTER:ALPHA(opacity=opacity,finishopacity=finishopacity,style=style,startx=startx, starty=starty,finishx=finishx,finishy=finishy)} "Alpha"属性是把一个目标元素与背景混合。设计者可以指定数值来控制混合的程度。 这种“与背景混合”通俗地说就是一个元素的透明度。通过指定坐标,可以指定点、线、 面的透明度。他们的参数含义分别如下: "opacity"代表透明度水准。默认的范围是从0 到 100,他们其实是百分比的形式。 也就是说,0代表完全透明,100代表完全不透明。”finishopacity"是一个可选参数, 如果想要设置渐变的透明效果,就可以使用他们来指定结束时的透明度。范围也是0 到 100。 "style" 参数指定了透明区域的形状特征。其中0代表统一形状、1代表线形、2代表放射状、 3代表长方形。”STARTX“和”STARTY“代表渐变透明效果的开始X和Y坐标。”FINISHX“和” FINISHY“代表渐变透明效果结束X和Y 的坐标。 enabled Enabled 设置或检索滤镜是否激活。 style Style 设置或检索透明渐变的样式。 opacity Opacity 设置或检索透明渐变的开始透明度。 finishOpacity FinishOpacity 设置或检索透明渐变的结束透明度。 startX StartX 设置或检索透明渐变开始点的水平坐标。 startY StartY 设置或检索透明渐变开始点的垂直坐标。 finishX FinishX 设置或检索透明渐变结束点的水平坐标。 finishY FinishY 设置或检索透明渐变结束点的垂直坐标。     javascript试题 2008-06-11 16:24 一、单选题       1、以下哪条语句会产生运行错误:(A)       A.var    obj    =    (    );       B.var    obj    =    [    ];       C.var    obj    =    {    };       D.var    obj    =    /    /;      2、以下哪个单词不属于javascript保留字:(B)       A. with       B. parent       C. class       D. void       3、请选择结果为真的表达式:(C)       A. null    instanceof    Object       B. null    ===    undefined       C. null    ==    undefined       D. NaN    ==    NaN              二、不定项选择题       4、请选择对javascript理解有误的:(ABCD)       A. JScript是javascript的简称       B. javascript是网景公司开发的一种Java脚本语言,其目的是为了简化Java的开发难度       C. FireFox和IE存在大量兼容性问题的主要原因在于他们对javascript的支持不同上       D. AJAX技术一定要使用javascript技术       5、 foo对象有att属性,那么获取att属性的值,以下哪些做法是可以的:(ACE)       A. foo.att       B. foo(“att”)       C. foo[“att”]       D. foo{“att”}       E. foo[“a”+”t”+”t”]       6、在不指定特殊属性的情况下,哪几种HTML标签可以手动输入文本:(AB)       A.          B.        C.        D.
       7、以下哪些是javascript的全局函数:(ABC)       A. escape       B. parseFloat       C. eval       D. setTimeout       E. alert       8、关于IFrame表述正确的有:(ABCD)       A. 通过IFrame,网页可以嵌入其他网页内容,并可以动态更改       B. 在相同域名下,内嵌的IFrame可以获取外层网页的对象       C. 在相同域名下,外层网页脚本可以获取IFrame网页内的对象         D. 可以通过脚本调整IFrame的大小       9、关于表格表述正确的有:(ABCDE)       A. 表格中可以包含TBODY元素       B. 表格中可以包含CAPTION元素       C. 表格中可以包含多个TBODY元素       D. 表格中可以包含COLGROUP元素       E. 表格中可以包含COL元素       10、关于IE的window对象表述正确的有:(ACD)       A. window.opener属性本身就是指向window对象       B. window.reload()方法可以用来刷新当前页面       C. window.location=”a.html”和window.location.href=”a.html”的作用都是把当前页面替换成a.html页面       D. 定义了全局变量g;可以用window.g的方式来存取该变量            三、问答题:       1、谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制 sort的实现的功能类似JAVA的比较器,数据排序从多维数组的第一维开始排序             可以自己定义排序方法,很不多的函数    2、简述DIV元素和SPAN元素的区别。 DIV有回车,SPAN没有    3、结合text这段结构,谈谈innerHTML    outerHTML    innerText之间的区别。 这个问题只要写一下看的很清楚             innerHTML对象里面的HTML,outerHTML包括对象和里面的             innerText对象里面的文本    4、说几条XHTML规范的内容(至少3条) 属性加引号,不能有不匹配的标签,加定义    5、对Web标准化(或网站重构)知道哪些相关的知识,简述几条你知道的Web标准?             W3C标准等    四、程序题:       1、完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。                                                                                                                2、填充注释部分的函数体,使得foo()函数调用弹出”成功”的对话框。代码应尽量简短。                                                                 function    reverse(str)    {       //    在此处加入代码,完成字符串翻转功能       return    str.split(",").reverse().join(",");       }   javascript面试题 1.如何获取表单             2、 function foo(){ alert("aaaa"); a = setTimeout(foo(),100); } foo(); 3、a = b 是赋值,a == b是判断值是否相同lect>域的选择部分的文本? 2.在JavaScript中定时调用函数 foo() 如何写? 3.var a = 10; var b = 20; var c = 10; alert(a = b); alert(a == b); alert(a == c);结果是? 以下是答案: 1、
2、 function foo(){ alert("aaaa"); a = setTimeout(foo(),100); } foo(); 3、a = b 是赋值,a == b是判断值是否相同 百度JavaScript笔试题 2009年01月20日 星期二 09:22 第一题 编写一个方法 求一个字符串的字节长度 第二题 如何控制alert中的换行 第三题 解释document.getElementById("ElementID").style.fontSize="1.5em" 第四题 将一个类似图中的效果分离成css和html 第五题 按照格式 xxxx年xx月xx日xx时xx分xx秒动态显示时间 要求不足10的补0 第六题 编写一个方法 去掉一个数组的重复元素 第七题 说出3条以上ff和ie的脚本兼容问题 第八题 按要求写一个简单的ajax示例 简单的没意义 就不写了 第一题代码: 第二题:alert中的换行用\n 第三题:em是个相对单位。 第四题我就不做了。 第五题代码 第六题代码: 第七题:同意winter的,另:IE有children,FF没有;IE有parentElement,FF没有;IE有innerText,outerText,outerHTML,FF没有;FF有HTMLElement,HTMLDivElement,XMLDocument,DocumentFragment,Node,Event,Element等等,IE没有;IE有数据岛,FF没有;IE跟FF创建HttpRequest实例的方法不一样。。等等。。 第八题代码: loading
数据正在加载......
汇总Javascript各种判断脚本(javascript经典例子) 2009-04-17 14:08 验证类 1、数字验证内 1.1 整数 1.2 大于0的整数 (用于传来的ID的验证) 1.3 负整数的验证 1.4 整数不能大于iMax 1.5 整数不能小于iMin 2、时间类 2.1 短时间,形如 (13:04:06) 2.2 短日期,形如 (2003-12-05) 2.3 长时间,形如 (2003-12-05 13:04:06) 2.4 只有年和月。形如(2003-05,或者2003-5) 2.5 只有小时和分钟,形如(12:03) 3、表单类 3.1 所有的表单的值都不能为空 3.2 多行文本框的值不能为空。 3.3 多行文本框的值不能超过sMaxStrleng 3.4 多行文本框的值不能少于sMixStrleng 3.5 判断单选框是否选择。 3.6 判断复选框是否选择. 3.7 复选框的全选,多选,全不选,反选 3.8 文件上传过程中判断文件类型 4、字符类 4.1 判断字符全部由a-Z或者是A-Z的字字母组成 4.2 判断字符由字母和数字组成。 4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 4.4 字符串替换函数.Replace(); 5、浏览器类 5.1 判断浏览器的类型 5.2 判断ie的版本 5.3 判断客户端的分辨率 6、结合类 6.1 email的判断。 6.2 手机号码的验证 6.3 身份证的验证 二、功能类 1、时间与相关控件类 1.1 日历 1.2 时间控件 1.3 万年历 1.4 显示动态显示时钟效果(文本,如OA中时间) 1.5 显示动态显示时钟效果 (图像,像手表) 2、表单类 2.1 自动生成表单 2.2 动态添加,修改,删除下拉框中的元素 2.3 可以输入内容的下拉框 2.4 多行文本框中只能输入iMax文字。如果多输入了,自动减少到iMax个文字(多用于短信发送) 3、打印类 3.1 打印控件 4、事件类 4.1 屏蔽右键 4.2 屏蔽所有功能键 4.3 --> 和<-- F5 F11,F9,F1 4.4 屏蔽组合键ctrl+N 5、网页设计类 5.1 连续滚动的文字,图片(注意是连续的,两段文字和图片中没有空白出现) 5.2 html编辑控件类 5.3 颜色选取框控件 5.4 下拉菜单 5.5 两层或多层次的下拉菜单 5.6 仿IE菜单的按钮。(效果如rongshuxa.com的导航栏目) 5.7 状态栏,title栏的动态效果(例子很多,可以研究一下) 5.8 双击后,网页自动滚屏 6、树型结构。 6.1 asp+SQL版 6.2 asp+xml+sql版 6.3 java+sql或者java+sql+xml 7、无边框效果的制作 8、连动下拉框技术 9、文本排序 --------------------------------------------------------------------------------------- 一、验证类 1、数字验证内 1.1 整数 /^(-|\+)?\d+$/.test(str) 1.2 大于0的整数 (用于传来的ID的验证) /^\d+$/.test(str) 1.3 负整数的验证 /^-\d+$/.test(str) 2、时间类 2.1 短时间,形如 (13:04:06) function isTime(str) { var a = str.match(/^(\d{1,2})(?(\d{1,2})\2(\d{1,2})$/); if (a == null) {alert('输入的参数不是时间格式'); return false;} if (a[1]>24 || a[3]>60 || a[4]>60) { alert("时间格式不对"); return false } return true; } 2.2 短日期,形如 (2003-12-05) function strDateTime(str) { var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); if(r==null)return false; var d= new Date(r[1], r[3]-1, r[4]); return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]); } 2.3 长时间,形如 (2003-12-05 13:04:06) function strDateTime(str) { var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2})\d{1,2})\d{1,2})$/; var r = str.match(reg); if(r==null)return false; var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]); } 2.4 只有年和月。形如(2003-05,或者2003-5) 2.5 只有小时和分钟,形如(12:03) 3、表单类 3.1 所有的表单的值都不能为空 3.2 多行文本框的值不能为空。 3.3 多行文本框的值不能超过sMaxStrleng 3.4 多行文本框的值不能少于sMixStrleng 3.5 判断单选框是否选择。 3.6 判断复选框是否选择. 3.7 复选框的全选,多选,全不选,反选 3.8 文件上传过程中判断文件类型 4、字符类 4.1 判断字符全部由a-Z或者是A-Z的字字母组成 4.2 判断字符由字母和数字组成。 4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 /^([a-zA-z_]{1})([\w]*)$/g.test(str) 4.4 字符串替换函数.Replace(); 5、浏览器类 5.1 判断浏览器的类型 window.navigator.appName 5.2 判断ie的版本 window.navigator.appVersion 5.3 判断客户端的分辨率 window.screen.height; window.screen.width; 6、结合类 6.1 email的判断。 function ismail(mail) { return(new RegExp(/^\w+((-\w+)|(\.\w+))*\-AT-[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail)); } 6.2 手机号码的验证 6.3 身份证的验证 function isIdCardNo(num) { if (isNaN(num)) {alert("输入的不是数字!"); return false;} var len = num.length, re; if (len == 15) re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/); else if (len == 18) re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/); else {alert("输入的数字位数不对!"); return false;} var a = num.match(re); if (a != null) { if (len==15) { var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]); var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; } else { var D = new Date(a[3]+"/"+a[4]+"/"+a[5]); var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; } if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;} } return true; } ------------------------------------------------------------------------------------- 3.7 复选框的全选,多选,全不选,反选 全选 全选 function checkAll(str) { var a = document.getElementsByName(str); var n = a.length; for (var i=0; ia[i].checked = window.event.srcElement.checked; } function checkItem(str) { var e = window.event.srcElement; var all = eval("document.hrong."+ str); if (e.checked) { var a = document.getElementsByName(e.name); all.checked = true; for (var i=0; i{ if (!a[i].checked){ all.checked = false; break;} } } else all.checked = false; } 3.8 文件上传过程中判断文件类型 ------------------------------------------------------------------------------------- 1.身份证严格验证: 2.验证IP地址 function isip(s){ var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}}; var re=s.split(".") return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false } var s="202.197.78.129"; alert(isip(s)) 3.加sp1后还能用的无边框窗口!! /*--- Special Thanks For andot ---*/ /* This following code are designed and writen by Windy_sk You can use it freely, but u must held all the copyright items! / /- Thanks For andot Again ---*/ var CW_width = 400; var CW_height = 300; var CW_top = 100; var CW_left = 100; var CW_url = "/"; var New_CW = window.createPopup(); var CW_Body = New_CW.document.body; var content = ""; var CSStext = "margin:1px;color:black; border:2px outset;border-style:expression(onmouseout=onmouseup=function(){this.style.borderStyle='outset'}, onmousedown=function(){if(event.button!=2)this.style.borderStyle='inset'});background-color:buttonface;width:16px;height:14px;font-size:12px;line-height:11px;cursor:Default;"; //Build Window include.startDownload(CW_url, function(source){content=source}); function insert_content(){ var temp = ""; CW_Body.style.overflow = "hidden"; CW_Body.style.backgroundColor = "white"; CW_Body.style.border = "solid black 1px"; content = content.replace(/]*)>/g,""); temp += ""; temp += ""; temp += "Chromeless Window For IE6 SP1"; temp += ""; temp += "?"; temp += "0"; temp += "1"; temp += "x"; temp += ""; temp += ""; temp += content; temp += " "; temp += ""; CW_Body.innerHTML = temp; } setTimeout("insert_content()",1000); var if_max = true; function show_CW(){ window.moveTo(10000, 10000); if(if_max){ New_CW.show(CW_top, CW_left, CW_width, CW_height); if(typeof(New_CW.document.all.include)!="#ff0000"){ New_CW.document.all.include.style.width = CW_width; New_CW.document.all.Max.innerText = "1"; } }else{ New_CW.show(0, 0, screen.width, screen.height); New_CW.document.all.include.style.width = screen.width; } } window.onfocus = show_CW; window.onresize = show_CW; // Move Window var drag_x,drag_y,draging=false function drag_move(e){ if (draging){ New_CW.show(e.screenX-drag_x, e.screenY-drag_y, CW_width, CW_height); return false; } } function drag_down(e){ if(e.button==2)return; if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height)return; drag_x=e.clientX; drag_y=e.clientY; draging=true; e.srcElement.setCapture(); } function drag_up(e){ draging=false; e.srcElement.releaseCapture(); if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height) return; CW_top = e.screenX-drag_x; CW_left = e.screenY-drag_y; } 电话号码的验证 要求: (1)电话号码由数字、"("、")"和"-"构成 (2)电话号码为3到8位 (3)如果电话号码中包含有区号,那么区号为三位或四位 (4)区号用"("、")"或"-"和其他部分隔开 (5)移动电话号码为11或12位,如果为12位,那么第一位为0 (6)11位移动电话号码的第一位和第二位为"13" (7)12位移动电话号码的第二位和第三位为"13" 根据这几条规则,可以与出以下正则表达式: (^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$) function PhoneCheck(s) { var str=s; var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/ alert(reg.test(str)); } -------------------------------------------------------------------------------------- --------------------------------------------------------------------------------- //检验法人代码 function isCorporationCode(s){ var patrn=/^(\d){15}$/; if (!patrn.exec(s)) return false return true } //校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 function isRegisterUserName(s) { var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$/; if (!patrn.exec(s)) return false return true } //校验用户姓名:只能输入1-30个以字母开头的字串 function isTrueName(s) { var patrn=/^[^`~!@#$%^&*()+-=|\\\[\]\{\}:;\'\,.<>/? 0-9]{2,19}$/; if (!patrn.exec(s)) return false return true } //校验密码:只能输入6-15个字母、数字 function isPasswd(s) { var patrn=/^[a-zA-Z0-9]{6,15}$/; if (!patrn.exec(s)) return false return true } //检验体重 function isAvoirdupois(s) { var patrn=/^[1-9]{1}[0-9]{0,2}$/; var patrn2=/^[1-9]{1}$/; var intPart=s.indexOf('.'); var decPart=s.lastIndexOf('.'); if (intPart==-1 && patrn.exec(s) && eval(s)>=2 && eval(s)<=200) return true if (intPart!=decPart || intPart==0 || intPart+2!=s.length) return false if (!patrn.exec(s.substring(0,intPart)) || !patrn2.exec(s.substring(decPart+1))) return false if (eval(s)<2 || eval(s)>200) return false return true } //校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-” function isTel(s) { var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; if (!patrn.exec(s)) return false return true } //校验手机号码:必须以数字开头,除数字外,可含有“-” function isMobile(s) { var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; if (!patrn.exec(s)) return false return true } //校验地区代码 function isAreaCode(s) { var patrn=/^(\d){6}$/; if (!patrn.exec(s)) return false return true } //校验邮政编码 function isPostalCode(s) { var patrn=/^[1-9]{1}(\d){5}$/; if (!patrn.exec(s)) return false return true } //校验搜索关键字 function isSearch(s) { var patrn=/^[^`~!@#$%^&*()+=|\\\[\]\{\}:;\'\,.<>/? ]{1}[^`~!@$%^&()+=|\\\[\]\{\}:;\'\,.<>?]{0,19}$/; if (!patrn.exec(s)) return false return true } //校验是否为ip地址 function isIP(s) { var patrn=/^[0-9.]{1,20}$/; if (!patrn.exec(s)) return false return true } //检验页码是否正确 function isPage(s) { var patrn=/^[1-9]{1}[0-9]{0,2}$/; if (!patrn.exec(s)) return false return true } //表单输入值错误提示 function vErr(o,s){ alert(s); if (o) o.focus(); return false; } //判断单选 function chkRadio(o){ for (i=0;iif (o[i].checked) return true; } return false; } //====================================表单类================================ // 文件上传过程中判断文件类型 /* / //表单的值不能为空 function isNull(elem){ //var pattern=/^\s+|\s+$/; if(elem.replace(/(^\s+|\s$)/g, "")==""){ return false; }else{ return true; } } //不能超过imax字符 function imax(elem){ if(elem.length>imax){ return false; }else{ return true; } } //不能少于imix字符 function imix(elem){ if(elem.lengthreturn false; }else{ return true; } } //输入为中文判断 function isChinese(elem){ var pattern=/[^\x00-\xff]/g; if(pattern.test(elem)){ //包含中文 return false; }else{ //不包含中文 return true; } } / ********************************************************************************************************************* .cMenu { FILTER: alpha(opacity=0);BACKGROUND-COLOR: #D6D3CE;BORDER-BOTTOM: #666666 2px solid; BORDER-LEFT: #E4E4E4 2px solid; BORDER-RIGHT: #666666 2px solid; BORDER-TOP: #E4E4E4 2px solid; COLOR: #000000; CURSOR: default; FONT-SIZE: 9pt; color:#000000;FONT-WEIGHT: normal; LINE-HEIGHT: 20px; POSITION: absolute; VISIBILITY: hidden; WIDTH: 110px } .menuitems { font-size:9pt; MARGIN: 2px; PADDING-BOTTOM: 0px; PADDING-LEFT: 15px; PADDING-RIGHT: 3px; PADDING-TOP: 0px; } "; eprnstr=""; prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); window.document.body.innerHTML=prnhtml; window.print(); } b、在页面正文处加上标识。 也就是在需要用户打印保存的正文所对应的html处附加上。同时,如果采用小偷程序获得远程数据并需打印,可将此等数据置于该定义标签之内即可。 c、截取内容部分已完成,现在加个“打印”的链接: 打印 3、windows自带功能 按住鼠标的左键,将你想要打印的内容选定,然后单击右键选择“打印”,在弹出的打印对话框中的“页面范围”中选择“选定范围”就可以只打印你选择的内容了。 (三)打印去掉/添加页眉页脚 引用: 复制出去,看下效果就可以了 (四)使用外部控件/方法实现多功能打印 1、IEWebBrowser组件 介绍 http://support.microsoft.com/default.aspx?scid=kb%3BEN-US%3BQ267240#top http://support.microsoft.com/kb/q247671/#appliesto 代码 引用: 2、使用ScriptX.cab控件 1.下载ScriptX.cab控件 官网http://www.meadroid.com/scriptx/index.asp 2.使用object元素,修改codebase,classid的值 这里调用控件ScriptX.cab 代码 引用: 这段代码用来加载cab文件,clsid和codebase必须要和你下载的cab中的信息对应,否则组件会加载错误,这两项其实不难找,只要你用winrar打开你下载的cab文件,然后找到扩展名是.inf的文件,然后打开之,就能看到了。 3.调用控件脚本 Print.js文件 代码 引用: function setPrintBase(headerText,footerText,rootUrl) { // -- advanced features ,未曾使用过,有待确认。 //factory.printing.SetMarginMeasure(2); // measure margins in inches //factory.SetPageRange(false, 1, 3);// need pages from 1 to 3 //factory.printing.printer = "HP DeskJet 870C"; //factory.printing.copies = 2; //factory.printing.collate = true; //factory.printing.paperSize = "A4"; //factory.printing.paperSource = "Manual feed" var header = (headerText==null||headerText=="")?'默认页眉':headerText; var footer = (footerText==null||footerText=="")?'默认页角':footerText; factory.printing.header = "&b"+header+"&b" ; factory.printing.footer = "&b"+footer; factory.printing.portrait = true; factory.printing.leftMargin =10.00; factory.printing.topMargin =10.00; factory.printing.rightMargin =10.00; factory.printing.bottomMargin =10.00; } 例子 引用: 打印测试
内容
(五)打印背景 默认情况下,使用IE浏览器打印网页时,不打印网页背景。如果需要打印网页背景,可以采用如下的方法设置:   1. 启动IE浏览器。   2. 选择【工具】菜单中的【Internet选项】菜单项,打开【Internet选项】对话框。   3. 打开【高级】选项卡,在【打印】选区中选择【打印背景颜色和图像】复选框。   4. 单击【确定】按钮,关闭对话框。 (六)如何用IE打印网页 Internet Explorer(简称IE)5.0以上版本强大的打印及打印预览功能。本文就向大家介绍如何用IE来打印网页。(谁?谁?谁在扔西红柿?下面一片嘘声:这还用得着你讲呀?!)咳咳咳,是的是的,在IE中打印网页实在是太简单不过了。只需点一下工具栏上“打印”按钮就可将当前网页打印出来。如下图所示: 不过,你这样打出来的效果怎么样呢?我就不敢说了。我今天要和大家讲的就是一些打印方面的设置参数。如何大家把这些参数设置好,你就会发现IE的打印功能快追得上Word了。今后你打印网页时就可以想怎么打就怎么打了。好,闲话少说,现在就跟我来一起看看怎么样设置IE的打印参数。 我们以下图要打印的学生名单(《学生学籍管理系统MX》查询结果网页)为例,讲解如何设置这些打印参数: 假如我们直接点工具栏的“打印”按钮或点“文件”菜单中的“打印”进行打印这个网页的话,就会打印出很多不必要的信息。所以在打印前我们应先用IE5新增的“打印预览”功能查看当前网页的实际打印效果。如下图所示: 在如下图所示的“打印预览”对话框中,我们可以看到,网页标题、网页的URL地址及打印日期等我们所不需要的信息也被打印出来了。而页码又在右上角,能不能把它移到其他位置(如我们常见的右下角)呢? 能不能按照我们所想要的样式来打印网页呢?当然可以。一切就在“页面设置”中。 弹出如下图所示的“页面设置”对话框,所有的秘密都在这里! 原来,IE自动给我们在页眉和页脚处加上了这些不必要的打印信息。如果我们不想要任何页眉和页脚的话,直接删除它们就行了。:-)大部分时候我都是这样做的。但如果你想自定义页眉和页脚的时候,该怎么做呢?上面的那些“&w&b&p”等等究竟表示什么意思呀?给你个表格就知道了。 符号含义 &w 网页标题 &u 网页地址 (URL) &d 短日期格式(由“控制面板”中的“区域设置”指定) &D 长日期格式(由“控制面板”中的“区域设置”指定) &t 由“控制面板”中的“区域设置”指定的时间格式 &T 24 小时时间格式 &p 当前页码 &P 总页数 &b 文本右对齐(请把要右对齐的文字放在“&b”之后) &b&b 文字居中(请把要居中的文字放在“&b”和“&b” 之间) && 单个 & 号 (&) 注:1、这些符号可以与文字组合使用,如本教程中的“页码,&p/&P”。 2、页眉和页脚默认是左对齐的,所以IE只提供了右对齐和居中的设置符号。 3、推荐给大家一种设置方法:页眉为空,页脚设为“&b第 &p 页 / 共 &P 页&b”,打印效果为在页脚居中显示“第 1 页 / 共 4 页”的效果。 知道了上面的知识,你就可以打印了。但有时你会发现,网页中的一些图像在打印时不见了。Why?为什么会这样?别着急,IE的默认设置是不打印网页的背景颜色和图像的。您只需进入IE的Internet选项将它选中(打上勾)就行了。具体操作方法是:点IE的主菜单中的“工具”——“Internet选项”——再在弹出的对话框中占击“高级”选项卡,找到“打印背景颜色和图像”一项。如下图所示: 然后将上图中红色圈住的选项打上勾,再点“确定”就OK了。 至此,我们就完成了对IE的打印设置。接下来,只要我们没有关闭IE,我们就可以一直使用上述设置(最后一项“打印背景颜色和图像”的更改始终有效)进行打印。打印前一般先进行打印预览,效果满意后再开始打印。 JavaScript基础知识汇总 2009-04-03 18:47 1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase(); 7.JS中的值类型:String,Number,Boolean,Null,Object,Function 8.JS中的字符型转换成数值型:parseInt(),parseFloat() 9.JS中的数字转换成字符型:(""+变量) 10.JS中的取字符串长度是:(length) 11.JS中的字符与字符相连接使用+号. 12.JS中的比较操作符有:==等于,!=不等于,>,>=,<.<= 13.JS中声明变量使用:var来进行声明 14.JS中的判断语句结构:if(condition){}else{} 15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop} 16.循环中止的命令是:break 17.JS中的函数定义:function functionName([parameter],...){statement[s]} 18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替. 19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self 20.状态栏的设置:window.status="字符"; 21.弹出提示信息:window.alert("字符"); 22.弹出确认框:window.confirm(); 23.弹出输入提示框:window.prompt(); 24.指定当前显示链接的位置:window.location.href="URL" 25.取出窗体中的所有表单的数量:document.forms.length 26.关闭文档的输出流:document.close(); 27.字符串追加连接符:+= 28.创建一个文档元素:document.createElement(),document.createTextNode() 29.得到元素的方法:document.getElementById() 30.设置表单中所有文本型的成员的值为空: var form = window.document.forms[0] for (var i = 0; i 49.引用一个文件式的JS: 50.指定在不支持脚本的浏览器显示的HTML: 51.当超链和ONCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:dfsadf 52.JS的内建对象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError 53.JS中的换行:\n 54.窗口全屏大小: 55.JS中的all代表其下层的全部元素 56.JS中的焦点顺序:document.getElementByid("表单元素").tabIndex = 1 57.innerHTML的值是表单元素的值:如

"how are you"

,则innerHTML的值就是:how are you 58.innerTEXT的值和上面的一样,只不过不会把这种标记显示出来. 59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态. 60.isDisabled判断是否为禁止状态.disabled设置禁止状态 61.length取得长度,返回整型数值 62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc 63.window.focus()使当前的窗口在所有窗口之前. 64.blur()指失去焦点.与FOCUS()相反. 65.select()指元素为选中状态. 66.防止用户对文本框中输入文本:onfocus="this.blur()" 67.取出该元素在页面中出现的数量:document.all.tags("div(或其它HTML标记符)").length 68.JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless() 69.状态栏文字的设置:window.status='文字',默认的状态栏文字设置:window.defaultStatus = '文字.'; 70.添加到收藏夹:external.AddFavorite("http://www.dannyg.com","jaskdlf"); 71.JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError; 72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener...的多重继续. 73.JS中的self指的是当前的窗口 74.JS中状态栏显示内容:window.status="内容" 75.JS中的top指的是框架集中最顶层的框架 76.JS中关闭当前的窗口:window.close(); 77.JS中提出是否确认的框:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");} 78.JS中的窗口重定向:window.navigate("http://www.sina.com.cn"); 79.JS中的打印:window.print() 80.JS中的提示输入框:window.prompt("message","defaultReply"); 81.JS中的窗口滚动条:window.scroll(x,y) 82.JS中的窗口滚动到位置:window.scrollby 83.JS中设置时间间隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeout 84.JS中的模态显示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]); 85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue="we really like you and hope you will stay longer.";}}   window.onbeforeunload=verifyClose; 86.当窗体第一次调用时使用的文件句柄:onload() 87.当窗体关闭时调用的文件句柄:onunload() 88.window.location的属性: protocol(http:),hostname(www.example.com),port(80),host(www.example.com:80),pathname("/a/a.html"),hash("#giantGizmo",指跳转到相应的锚记),href(全部的信息) 89.window.location.reload()刷新当前页面. 89-1.parent.location.reload()刷新父亲对象(用于框架) 89-2.opener.location.reload()刷新父窗口对象(用于单开窗口) 89-3.top.location.reload()刷新最顶端对象(用于多开窗口) 90.window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回第几页,也可以使用访问过的URL) 91.document.write()不换行的输出,document.writeln()换行输出 92.document.body.noWrap=true;防止链接文字折行. 93.变量名.charAt(第几位),取该变量的第几位的字符. 94."abc".charCodeAt(第几个),返回第几个字符的ASCii码值. 95.字符串连接:string.concat(string2),或用+=进行连接 96.变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算) 97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置. 98.string.match(regExpression),判断字符是否匹配. 99.string.replace(regExpression,replaceString)替换现有字符串. 100.string.split(分隔符)返回一个数组存储值. 101.string.substr(start[,length])取从第几位到指定长度的字符串. 102.string.toLowerCase()使字符串全部变为小写. 103.string.toUpperCase()使全部字符变为大写. 104.parseInt(string[,radix(代表进制)])强制转换成整型. 105.parseFloat(string[,radix])强制转换成浮点型. 106.isNaN(变量):测试是否为数值型. 107.定义常量的关键字:const,定义变量的关键字:var

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ] 2 人已下载

下载文档