ppk谈JavaScript

此文档pdf中介绍了JavaScript,主要讨论了浏览器兼容性、可访问性、底层语法以及HTML结构层的协同等问题。包括理论性的讲解,又给出了相关的示列脚本以进行进一步阐述。

应用介绍

此文档是《ppk谈JavaScript》pdf和源码。

此文档pdf中介绍了JavaScript,主要讨论了浏览器兼容性、可访问性、底层语法以及HTML结构层的协同等问题。包括理论性的讲解,又给出了相关的示列脚本以进行进一步阐述。通过8个真实项目示列,介绍了JavaScript核心语言、BOM、事件处理、DOM、修改CSS样式表以及数据检索等内容。

下面展示一段源码:


1.	var compatible = (document.getElementsByTagName && document.createElement);
2.	
3.	if (compatible)
4.		document.write('<link rel="stylesheet" href="navstyles.css" />')
5.	
6.	function initNavigation() {
7.		var lists = document.getElementsByTagName('ul');
8.		for (var i=0;i<lists.length;i++) {
9.			if (lists[i].className != 'menutree') continue;
10.			lists[i].onmouseover = navMouseOver;
11.			lists[i].onmouseout = navMouseOut;
12.			var listItems = lists[i].getElementsByTagName('li');
13.			for (var j=0;j<listItems.length;j++) {
14.				var test = listItems[j].getElementsByTagName('ul')[0];
15.				if (test) {
16.					listItems[j].firstChild.onfocus = navMouseOver;
17.					listItems[j].relatedItem = test;
18.				}
19.			}
20.		}
21.	}
22.	
23.	var currentlyOpenedMenus = new Array();
24.	var currentlyFocusedItem;
25.	
26.	function navMouseOver(e) {
27.		var evt = e || window.event;
28.		var evtTarget = evt.target || evt.srcElement;
29.		if (evtTarget.nodeName == 'UL') return;
30.		while (evtTarget.nodeName != 'LI')
31.			evtTarget = evtTarget.parentNode;
32.		foldMenuIn(evtTarget);
33.		if (evtTarget.relatedItem && !evtTarget.relatedItem.opened) {
34.			evtTarget.className = 'highlight';
35.			evtTarget.relatedItem.className = 'foldOut';
36.			evtTarget.relatedItem.opened = true;
37.			currentlyOpenedMenus.push(evtTarget.relatedItem);
38.		}
39.	}
40.	
41.	function navMouseOut(e) {
42.		var evt = e || window.event;
43.		var relatedNode = evt.relatedTarget || evt.toElement;
44.		foldMenuIn(relatedNode);
45.	}
46.	
47.	function foldMenuIn(targetNode) {
48.		if (!targetNode) return;
49.		var newCurrentlyOpenedMenus = new Array();
50.		for (var i=0;i<currentlyOpenedMenus.length;i++) {
51.			if (!containsElement(currentlyOpenedMenus[i],targetNode)) {
52.				currentlyOpenedMenus[i].className = '';
53.				currentlyOpenedMenus[i].parentNode.className = '';
54.				currentlyOpenedMenus[i].opened = false;
55.			}
56.			else
57.				newCurrentlyOpenedMenus.push(currentlyOpenedMenus[i]);
58.		}
59.		currentlyOpenedMenus = newCurrentlyOpenedMenus;
60.	}
61.	
62.	function containsElement(obj1,obj2) {
63.		while (obj2.nodeName != 'HTML') {
64.			if (obj2 == obj1) return true;
65.			obj2 = obj2.parentNode;
66.		}
67.		return false;
68.	}
69.	
70.	addEventSimple(window,"load",initNavigation);
71.	
72.	function addEventSimple(obj,evt,fn) {
73.		if (obj.addEventListener)
74.			obj.addEventListener(evt,fn,false);
75.		else if (obj.attachEvent)
76.			obj.attachEvent('on'+evt,fn);
77.	}
78.	
79.	function removeEventSimple(obj,evt,fn) {
80.		if (obj.removeEventListener)
81.			obj.removeEventListener(evt,fn,false);
82.		else if (obj.detachEvent)
83.			obj.detachEvent('on'+evt,fn);
84.	}
85.	
86.	/** PUSH AND SHIFT FOR IE5 **/
87.	
88.	function Array_push() {
89.		var A_p = 0
90.		for (A_p = 0; A_p < arguments.length; A_p++) {
91.			this[this.length] = arguments[A_p]
92.		}
93.		return this.length
94.	}
95.	
96.	if (typeof Array.prototype.push == "undefined") {
97.		Array.prototype.push = Array_push
98.	}
99.	
100.	function Array_shift() {
101.		var A_s = 0
102.		var response = this[0]
103.		for (A_s = 0; A_s < this.length-1; A_s++) {
104.			this[A_s] = this[A_s + 1]
105.		}
106.		this.length--
107.		return response
108.	}
109.	
110.	if (typeof Array.prototype.shift == "undefined") {
111.		Array.prototype.shift = Array_shift
112.	}	
.................了解详情请下载附件。


文件列表(部分)

名称 大小 修改日期
《ppk谈JavaScript》pdf和源码0.00 KB2018-01-36
ppk谈JavaScript.pdf52,800.83 KB2018-01-36
ppk谈JavaScript源代码0.00 KB2021-01-42
dropdown.txt3.29 KB2018-01-36
editstyles.txt6.35 KB2018-01-36
popup.txt4.03 KB2018-01-36
sandwiches.txt7.90 KB2018-01-36
survey.txt3.77 KB2018-01-36
textarea.txt1.15 KB2018-01-36
usableforms.txt6.38 KB2018-01-36
validation.txt4.02 KB2018-01-36
xmlhttp.txt5.09 KB2018-01-36

立即下载

相关下载

[JavaScript从入门到精通] 此文档是JavaScript从入门到精通。 实例是从简单到复杂,慢慢的讲解深入使初学者容易上手。
[JavaScript语言精粹] 此文档是JavaScript语言精粹。 包括的内容有:精华、语法、对象、函数、继承、数组、正则表达式、方法、代码风格........了解详情请下载附件。
[ppk谈JavaScript] 此文档pdf中介绍了JavaScript,主要讨论了浏览器兼容性、可访问性、底层语法以及HTML结构层的协同等问题。包括理论性的讲解,又给出了相关的示列脚本以进行进一步阐述。
[JavaScript语言精粹++修订版] JavaScript曾是“世界上最被误解的语言”,因为它担负太多的特性,包括糟糕的交互和失败的设计,但随着Ajax的到来,JavaScript“从最受误解的编程语言演变为最流行的语言”,这除了幸运之外,也证明了它其实是一门优秀的语言。
[你不知道的 JavaScript(下卷)] 此文档是其下卷,主要介绍了 JavaScript 入门知识和对 ES6 及未来发展趋势的展望。
[你不知道的JavaScript(上卷)] 此文档既适合 JavaScript 语言初学者阅读,又适合经验丰富的 JavaScript 开发人员深入习学习。

评论列表 共有 0 条评论

暂无评论

微信捐赠

微信扫一扫体验

立即
上传
发表
评论
返回
顶部