javascript_api_foundation
js:


1
function sniffBrowsers()
{
2
var ns4 = document.layers;
3
var op5 = (navigator.userAgent.indexOf("Opera 5")!=-1) ||(navigator.userAgent.indexOf("Opera/5")!=-1);
4
var op6 = (navigator.userAgent.indexOf("Opera 6")!=-1) ||(navigator.userAgent.indexOf("Opera/6")!=-1);
5
var agt=navigator.userAgent.toLowerCase();
6
var mac = (agt.indexOf("mac")!=-1);
7
var ie = (agt.indexOf("msie") != -1);
8
var mac_ie = mac && ie;
9
}
10
11
12
function getStyleObject(objectId)
{
13
if(document.getElementById && document.getElementById(objectId))
{
14
return document.getElementById(objectId).style;
15
} else if (document.all && document.all(objectId))
{
16
return document.all(objectId).style;
17
} else if (document.layers && document.layers[objectId])
{
18
return getObjNN4(document,objectId);
19
} else
{
20
return false;
21
}
22
}
23
24
function changeObjectVisibility(objectId, newVisibility)
{
25
var styleObject = getStyleObject(objectId, document);
26
if(styleObject)
{
27
styleObject.visibility = newVisibility;
28
return true;
29
} else
{
30
return false;
31
}
32
}
33
34
function findImage(name, doc)
{
35
var i, img;
36
for (i = 0; i < doc.images.length; i++)
{
37
if (doc.images[i].name == name)
{
38
return doc.images[i];
39
}
40
}
41
for (i = 0; i < doc.layers.length; i++)
{
42
if ((img = findImage(name, doc.layers[i].document)) != null)
{
43
img.container = doc.layers[i];
44
return img;
45
}
46
}
47
return null;
48
}
49
50
function getImage(name)
{
51
if (document.layers)
{
52
return findImage(name, document);
53
}
54
return null;
55
}
56
57
function getObjNN4(obj,name)
58

{
59
var x = obj.layers;
60
var foundLayer;
61
for (var i=0;i<x.length;i++)
62
{
63
if (x[i].id == name)
64
foundLayer = x[i];
65
else if (x[i].layers.length)
66
var tmp = getObjNN4(x[i],name);
67
if (tmp) foundLayer = tmp;
68
}
69
return foundLayer;
70
}
71
72
function getElementHeight(Elem)
{
73
if (ns4)
{
74
var elem = getObjNN4(document, Elem);
75
return elem.clip.height;
76
} else
{
77
var elem;
78
if(document.getElementById)
{
79
var elem = document.getElementById(Elem);
80
} else if (document.all)
{
81
var elem = document.all[Elem];
82
}
83
if (op5)
{
84
xPos = elem.style.pixelHeight;
85
} else
{
86
xPos = elem.offsetHeight;
87
}
88
return xPos;
89
}
90
}
91
92
function getElementWidth(Elem)
{
93
if (ns4)
{
94
var elem = getObjNN4(document, Elem);
95
return elem.clip.width;
96
} else
{
97
var elem;
98
if(document.getElementById)
{
99
var elem = document.getElementById(Elem);
100
} else if (document.all)
{
101
var elem = document.all[Elem];
102
}
103
if (op5)
{
104
xPos = elem.style.pixelWidth;
105
} else
{
106
xPos = elem.offsetWidth;
107
}
108
return xPos;
109
}
110
}
111
112
function getElementLeft(Elem)
{
113
if (ns4)
{
114
var elem = getObjNN4(document, Elem);
115
return elem.pageX;
116
} else
{
117
var elem;
118
if(document.getElementById)
{
119
var elem = document.getElementById(Elem);
120
} else if (document.all)
{
121
var elem = document.all[Elem];
122
}
123
xPos = elem.offsetLeft;
124
tempEl = elem.offsetParent;
125
while (tempEl != null)
{
126
xPos += tempEl.offsetLeft;
127
tempEl = tempEl.offsetParent;
128
}
129
return xPos;
130
}
131
}
132
133
134
function getElementTop(Elem)
{
135
if (ns4)
{
136
var elem = getObjNN4(document, Elem);
137
return elem.pageY;
138
} else
{
139
if(document.getElementById)
{
140
var elem = document.getElementById(Elem);
141
} else if (document.all)
{
142
var elem = document.all[Elem];
143
}
144
yPos = elem.offsetTop;
145
tempEl = elem.offsetParent;
146
while (tempEl != null)
{
147
yPos += tempEl.offsetTop;
148
tempEl = tempEl.offsetParent;
149
}
150
return yPos;
151
}
152
}
153
154
155
function getImageLeft(myImage)
{
156
var x, obj;
157
if (document.layers)
{
158
var img = getImage(myImage);
159
if (img.container != null)
160
return img.container.pageX + img.x;
161
else
162
return img.x;
163
} else
{
164
return getElementLeft(myImage);
165
}
166
return -1;
167
}
168
169
function getImageTop(myImage)
{
170
var y, obj;
171
if (document.layers)
{
172
var img = getImage(myImage);
173
if (img.container != null)
174
return img.container.pageY + img.y;
175
else
176
return img.y;
177
} else
{
178
return getElementTop(myImage);
179
}
180
return -1;
181
}
182
183
function getImageWidth(myImage)
{
184
var x, obj;
185
if (document.layers)
{
186
var img = getImage(myImage);
187
return img.width;
188
} else
{
189
return getElementWidth(myImage);
190
}
191
return -1;
192
}
193
194
function getImageHeight(myImage)
{
195
var y, obj;
196
if (document.layers)
{
197
var img = getImage(myImage);
198
return img.height;
199
} else
{
200
return getElementHeight(myImage);
201
}
202
return -1;
203
}
204
205
function moveXY(myObject, x, y)
{
206
obj = getStyleObject(myObject)
207
if (ns4)
{
208
obj.top = y;
209
obj.left = x;
210
} else
{
211
if (op5)
{
212
obj.pixelTop = y;
213
obj.pixelLeft = x;
214
} else
{
215
obj.top = y + 'px';
216
obj.left = x + 'px';
217
}
218
}
219
}
220
221
function changeClass(Elem, myClass)
{
222
var elem;
223
if(document.getElementById)
{
224
var elem = document.getElementById(Elem);
225
} else if (document.all)
{
226
var elem = document.all[Elem];
227
}
228
elem.className = myClass;
229
}
230
231
function changeImage(target, source)
{
232
var imageObj;
233
234
if (ns4)
{
235
imageObj = getImage(target);
236
if (imageObj) imageObj.src = eval(source).src;
237
} else
{
238
imageObj = eval('document.images.' + target);
239
if (imageObj) imageObj.src = eval(source).src;
240
}
241
}
242
243
function changeBGColour(myObject, colour)
{
244
if (ns4)
{
245
var obj = getObjNN4(document, myObject);
246
obj.bgColor=colour;
247
} else
{
248
var obj = getStyleObject(myObject);
249
if (op5)
{
250
obj.background = colour;
251
} else
{
252
obj.backgroundColor = colour;
253
}
254
}
255
}
256
257
doc:


1
此javascript_API提供以下功能:
{
2
3
~ 浏览器嗅探功能- 不是一个完全的浏览嗅探器,他只对那些对api产生影响的浏览器;
4
5
~ 获得style对象- 返回页面中的style对象;
6
~ function getStyleObject("styleObjectID");
7
8
~ 改变对象的可见性;
9
~ function changeObjectVisibility(objectId, newVisibility);
10
11
~ 查找图片(NS4 only) ;
12
~ function getImage("imgName");
13
14
~ 查找对象(NS4 only) ;
15
~ getObjNN4(document,'objectId');
16
17
~ 获得元素的高与宽;
18
~ function getElementHeight(Elem);function getElementWidth(Elem);
19
20
~ 获得元素的Top和Left;
21
~ function getElementLeft(Elem) ; function getElementTop(Elem);
22
23
~ 获得Image的宽和高;
24
~ function getImageWidth(myImage); function getImageHeight(myImage);
25
26
~ 获得Image的Top和Left;
27
~ function getImageTop(myImage); function getImageLeft(myImage);
28
29
~ 移动元素以屏幕的坐标系为准横纵坐标;
30
~ function moveXY(myObject, x, y);
31
32
~ 改变元素的className;
33
~ function changeClass(Elem, myClass);
34
35
~ 改变图像;
36
~ function changeImage(target, source);
37
38
~ 改变背景色;
39
~ function changeBGColour(myObject, colour);
40
41
}
42
43
44
1

function sniffBrowsers()
{2
var ns4 = document.layers;3
var op5 = (navigator.userAgent.indexOf("Opera 5")!=-1) ||(navigator.userAgent.indexOf("Opera/5")!=-1);4
var op6 = (navigator.userAgent.indexOf("Opera 6")!=-1) ||(navigator.userAgent.indexOf("Opera/6")!=-1);5
var agt=navigator.userAgent.toLowerCase();6
var mac = (agt.indexOf("mac")!=-1);7
var ie = (agt.indexOf("msie") != -1); 8
var mac_ie = mac && ie;9
}10

11

12

function getStyleObject(objectId)
{13

if(document.getElementById && document.getElementById(objectId))
{14
return document.getElementById(objectId).style;15

} else if (document.all && document.all(objectId))
{16
return document.all(objectId).style;17

} else if (document.layers && document.layers[objectId])
{18
return getObjNN4(document,objectId);19

} else
{20
return false;21
} 22
} 23

24

function changeObjectVisibility(objectId, newVisibility)
{25
var styleObject = getStyleObject(objectId, document);26

if(styleObject)
{27
styleObject.visibility = newVisibility;28
return true;29

} else
{30
return false;31
}32
} 33

34

function findImage(name, doc)
{35
var i, img;36

for (i = 0; i < doc.images.length; i++)
{37

if (doc.images[i].name == name)
{38
return doc.images[i];39
}40
}41

for (i = 0; i < doc.layers.length; i++)
{42

if ((img = findImage(name, doc.layers[i].document)) != null)
{43
img.container = doc.layers[i];44
return img;45
}46
}47
return null;48
}49

50

function getImage(name)
{51

if (document.layers)
{52
return findImage(name, document);53
}54
return null;55
}56

57
function getObjNN4(obj,name)58


{59
var x = obj.layers;60
var foundLayer;61
for (var i=0;i<x.length;i++)62

{63
if (x[i].id == name)64
foundLayer = x[i];65
else if (x[i].layers.length)66
var tmp = getObjNN4(x[i],name);67
if (tmp) foundLayer = tmp;68
}69
return foundLayer;70
}71

72

function getElementHeight(Elem)
{73

if (ns4)
{74
var elem = getObjNN4(document, Elem);75
return elem.clip.height;76

} else
{77
var elem;78

if(document.getElementById)
{79
var elem = document.getElementById(Elem);80

} else if (document.all)
{81
var elem = document.all[Elem];82
}83

if (op5)
{84
xPos = elem.style.pixelHeight;85

} else
{86
xPos = elem.offsetHeight;87
}88
return xPos;89
} 90
}91

92

function getElementWidth(Elem)
{93

if (ns4)
{94
var elem = getObjNN4(document, Elem);95
return elem.clip.width;96

} else
{97
var elem;98

if(document.getElementById)
{99
var elem = document.getElementById(Elem);100

} else if (document.all)
{101
var elem = document.all[Elem];102
}103

if (op5)
{104
xPos = elem.style.pixelWidth;105

} else
{106
xPos = elem.offsetWidth;107
}108
return xPos;109
}110
}111

112

function getElementLeft(Elem)
{113

if (ns4)
{114
var elem = getObjNN4(document, Elem);115
return elem.pageX;116

} else
{117
var elem;118

if(document.getElementById)
{119
var elem = document.getElementById(Elem);120

} else if (document.all)
{121
var elem = document.all[Elem];122
}123
xPos = elem.offsetLeft;124
tempEl = elem.offsetParent;125

while (tempEl != null)
{126
xPos += tempEl.offsetLeft;127
tempEl = tempEl.offsetParent;128
}129
return xPos;130
}131
}132

133

134

function getElementTop(Elem)
{135

if (ns4)
{136
var elem = getObjNN4(document, Elem);137
return elem.pageY;138

} else
{139

if(document.getElementById)
{ 140
var elem = document.getElementById(Elem);141

} else if (document.all)
{142
var elem = document.all[Elem];143
}144
yPos = elem.offsetTop;145
tempEl = elem.offsetParent;146

while (tempEl != null)
{147
yPos += tempEl.offsetTop;148
tempEl = tempEl.offsetParent;149
}150
return yPos;151
}152
}153

154

155

function getImageLeft(myImage)
{156
var x, obj;157

if (document.layers)
{158
var img = getImage(myImage);159
if (img.container != null)160
return img.container.pageX + img.x;161
else162
return img.x;163

} else
{164
return getElementLeft(myImage);165
}166
return -1;167
}168

169

function getImageTop(myImage)
{170
var y, obj;171

if (document.layers)
{172
var img = getImage(myImage);173
if (img.container != null)174
return img.container.pageY + img.y;175
else176
return img.y;177

} else
{178
return getElementTop(myImage);179
}180
return -1;181
}182

183

function getImageWidth(myImage)
{184
var x, obj;185

if (document.layers)
{186
var img = getImage(myImage);187
return img.width;188

} else
{189
return getElementWidth(myImage);190
}191
return -1;192
}193

194

function getImageHeight(myImage)
{195
var y, obj;196

if (document.layers)
{197
var img = getImage(myImage);198
return img.height;199

} else
{200
return getElementHeight(myImage);201
}202
return -1;203
}204

205

function moveXY(myObject, x, y)
{206
obj = getStyleObject(myObject)207

if (ns4)
{208
obj.top = y;209
obj.left = x;210

} else
{211

if (op5)
{212
obj.pixelTop = y;213
obj.pixelLeft = x;214

} else
{215
obj.top = y + 'px';216
obj.left = x + 'px';217
} 218
}219
}220

221

function changeClass(Elem, myClass)
{222
var elem;223

if(document.getElementById)
{224
var elem = document.getElementById(Elem);225

} else if (document.all)
{226
var elem = document.all[Elem];227
}228
elem.className = myClass;229
}230

231

function changeImage(target, source)
{232
var imageObj;233
234

if (ns4)
{235
imageObj = getImage(target);236
if (imageObj) imageObj.src = eval(source).src; 237

} else
{238
imageObj = eval('document.images.' + target);239
if (imageObj) imageObj.src = eval(source).src; 240
}241
}242

243

function changeBGColour(myObject, colour)
{244

if (ns4)
{245
var obj = getObjNN4(document, myObject);246
obj.bgColor=colour;247

} else
{248
var obj = getStyleObject(myObject);249

if (op5)
{250
obj.background = colour; 251

} else
{252
obj.backgroundColor = colour;253
} 254
}255
}256

257

doc:
1

此javascript_API提供以下功能:
{2
3
~ 浏览器嗅探功能- 不是一个完全的浏览嗅探器,他只对那些对api产生影响的浏览器;4
5
~ 获得style对象- 返回页面中的style对象;6
~ function getStyleObject("styleObjectID");7
8
~ 改变对象的可见性;9
~ function changeObjectVisibility(objectId, newVisibility);10
11
~ 查找图片(NS4 only) ;12
~ function getImage("imgName"); 13
14
~ 查找对象(NS4 only) ;15
~ getObjNN4(document,'objectId');16

17
~ 获得元素的高与宽;18
~ function getElementHeight(Elem);function getElementWidth(Elem);19
20
~ 获得元素的Top和Left;21
~ function getElementLeft(Elem) ; function getElementTop(Elem);22
23
~ 获得Image的宽和高;24
~ function getImageWidth(myImage); function getImageHeight(myImage);25
26
~ 获得Image的Top和Left;27
~ function getImageTop(myImage); function getImageLeft(myImage);28
29
~ 移动元素以屏幕的坐标系为准横纵坐标;30
~ function moveXY(myObject, x, y);31
32
~ 改变元素的className;33
~ function changeClass(Elem, myClass);34
35
~ 改变图像;36
~ function changeImage(target, source);37
38
~ 改变背景色;39
~ function changeBGColour(myObject, colour);40

41
}42

43

44
浙公网安备 33010602011771号