//获取浏览器的宽和高(多种浏览器)
function getNavWidthandHeightInfo()
{
var s = "";
s += " 网页可见区域宽:"+ document.body.clientWidth;
s += " 网页可见区域高:"+ document.body.clientHeight;
s += " 网页可见区域宽:"+ document.body.offsetWidth + " (包括边线和滚动条的宽)";
s += " 网页可见区域高:"+ document.body.offsetHeight + " (包括边线的宽)";
s += " 网页正文全文宽:"+ document.body.scrollWidth;
s += " 网页正文全文高:"+ document.body.scrollHeight;
s += " 网页被卷去的高(ff):"+ document.body.scrollTop;
s += " 网页被卷去的高(ie):"+ document.documentElement ......
说明:
appendChild()
我测试的结果:
1 appendChild() 表格中所有行循环上移一行后, 用新的(行)替换了 表格的末行 ;相当于替换了表格的第一行,并循环上移一行
2 不改变 表格的总 行数
insertRow()
1 insertRow() 在表格中插入一行,表格总行书增一
2 insertRow(index) index=0 , 在表头增加, index=-1, 在表尾增加。
deleteRow()
1 deleteRow(0) 删除表头第一行, 第二行变为第一行; 因此删除表头前n行,可以循环n次调用deleteRow(0)
Example: Sort table & Merge same Column
1。 Break Table: 遍历表格,如果排序列 的某TD包含多个值, 需要拆分为多行(使用insertRow(-1); index=-1是因为便利过程使用原有表格的行数进行遍历,若在表头插入行则遍历失效)
2。 Sort Table:
a,将表格中的代排序行保存到数组ArrayOrig中,
b: 排序数组ArrayOrig
c:遍历数组ArrayOrig,合并相同列,生成ArrayDest(注意合并过程中需要保证状态,属性符合需求)
d: 遍历ArrayDest,使用appendChild() 添加到表格中。
3。 Delete Table: 因为appendChild()不会改变表格行数,因此适用 count=ArrayOrig.length - ArrayDest.length 循环调用deleteRow ......
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><*** src="/*.html>";</***></noscript>
11. <input type=button value="/查看网页源 ......
今天AJAX必须用JS,做前端必须用JS,由于课程紧,只安排了一天时间,只讲了Dom。 DOM 可在J2SEAPI搜Document,便可以查看方法 DOM树:节点(node)的层次。 节点分为三种类型: 节点(node):来源于网络理论,代表网络中的一个连接点。网络是由节点构成的集合 1.节点分为三种类型:
element node attribute node text node 2.使用 Aptana 编辑器 : 3.查找节点: 1)在哪儿写代码: 不能直接写在 元素的前面 :因为此时 DOM没有被完全解析 可以把 js 写在 的后面 按惯例应该把 js 代码写在 中,节点后,此时需要使用 js 函数window.onload = function(){ //alert("window.onload..."); var cityElement = document.getElementById("city"); alert(cityElement.nodeName); }; 2)Dom属性:nodeName nodeType nodeValue ① nodeName:一个字符串,其内容是给定节点的名字。 var name = node.nodeName; 如果给定节点是一个元素节点或属性节点,nodeName 属性将返回这个元素的名字。 如果给定节点是一个文本节点,nodeName 属性将返回内容为 #text 的字符串。 nodeName 是一个只读属性。 ② nodeType:返回一个整数,这个数值代表着给定节点的类型。 n ......
上次部门招聘需要web前台技术笔试题目,我在网上搜索一下,还真找不到什么。于是自己编了几道。
招聘结束了,题目估计没用了。这里公布出来,对js感兴趣的新手可以做做看,或许有帮助哦。
答案就不公布了,自己一试就知道了。
一、单选题
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 &n ......
FireFox : addEventListener()方法 IE : attachEvent()方法 为HTML元素添加一个事件监听, 而不是直接对元素的事件属性(如:onclick、onmouseover)赋值。 这两种方法处理事件还是有很大区别的!事件属性只能赋值一种方法,即: button1.onclick = function() { alert(1); };
button1.onclick = function() { alert(2); };
这样后面的赋值语句就将前面的onclick属性覆盖了。
Javascript事件监听示例
测试
///
/// 添加事件监听
///
/// 载体
/// 事件类型
/// 事件函数
function addEventHandler(target, type, func) {
if (target.addEventListener)
target.addEventListener(type, func, false);
else if (target.attachEvent)
target.attachEvent("on" + type, func);
else target["on" + type] = func;
} ///
/// 移除事件监听
/ ......