怎么去理解这一段JS?
答案:1 悬赏:10
解决时间 2021-01-09 22:02
- 提问者网友:wodetian
- 2021-01-08 22:40
怎么去理解这一段JS?
最佳答案
- 二级知识专家网友:零点过十分
- 2021-01-09 00:04
< script type = "text/javascript" >
// 预先加载图片
function MM_preloadImages() { //v3.0
var d = document;
// document.images存在的话
if (d.images) {
// 清空d.MM_p数组
if (!d.MM_p) d.MM_p = new Array();
// 位序和数组长度
var i, j = d.MM_p.length,
// 参数表
a = MM_preloadImages.arguments;
// 对传入的参数循环
for (i = 0; i < a.length; i++)
// 如果传入的当前参数不是以#开头的
if (a[i].indexOf("#") != 0) {
// 存入Image对象
d.MM_p[j] = new Image;
// 以当前参数作为Image对象的src
d.MM_p[j++].src = a[i];
}
}
}
function MM_swapImgRestore() { //v3.0
var i, x, a = document.MM_sr;
// 迭代document.MM_sr
for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++)
// 复制src
x.src = x.oSrc;
}
function MM_findObj(n, d) { //v4.01
var p, i, x;
// 取d=document
if (!d) d = document;
// 如果"?"存在于n内 并且不在第一位 而且父窗口的frames大于0
if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
// 取父窗口下面的名字为"n的第p位以后的字符串"的frames
d = parent.frames[n.substring(p + 1)].document;
// 从0到p位截取n
n = n.substring(0, p);
}
// document[n]存在并且d.all存在 x为d.all[n]
if (! (x = d[n]) && d.all)
x = d.all[n];
// 迭代document.forms x为d.forms[i][n] 第i个form的第n-1个;
for (i = 0; ! x && i < d.forms.length; i++)
x = d.forms[i][n];
// 迭代document.layers
for (i = 0; ! x && d.layers && i < d.layers.length; i++)
// 查找特定对象
x = MM_findObj(n, d.layers[i].document);
// x取id为n的对象
if (!x && d.getElementById)
x = d.getElementById(n);
return x;
}
function MM_swapImage() { //v3.0
var i, j = 0,
x, a = MM_swapImage.arguments;
document.MM_sr = new Array;
// 定义特定的规则 如何交换图片
for (i = 0; i < (a.length - 2); i += 3)
if ((x = MM_findObj(a[i])) != null) {
document.MM_sr[j++] = x;
if (!x.oSrc) x.oSrc = x.src;
x.src = a[i + 2];
}
} < /script>/从代码大致来看应该是实现了一个二维图片矩阵
然后每次打乱里面的内容 实现矩阵内的图片变换换位置
追问:敢问兄台用的是什么软件,还能有显示注释的功能
追答:大哥阿 那些注释都是我写上去的.......
追问:必须采纳啊,虽然这代码还没看明白
// 预先加载图片
function MM_preloadImages() { //v3.0
var d = document;
// document.images存在的话
if (d.images) {
// 清空d.MM_p数组
if (!d.MM_p) d.MM_p = new Array();
// 位序和数组长度
var i, j = d.MM_p.length,
// 参数表
a = MM_preloadImages.arguments;
// 对传入的参数循环
for (i = 0; i < a.length; i++)
// 如果传入的当前参数不是以#开头的
if (a[i].indexOf("#") != 0) {
// 存入Image对象
d.MM_p[j] = new Image;
// 以当前参数作为Image对象的src
d.MM_p[j++].src = a[i];
}
}
}
function MM_swapImgRestore() { //v3.0
var i, x, a = document.MM_sr;
// 迭代document.MM_sr
for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++)
// 复制src
x.src = x.oSrc;
}
function MM_findObj(n, d) { //v4.01
var p, i, x;
// 取d=document
if (!d) d = document;
// 如果"?"存在于n内 并且不在第一位 而且父窗口的frames大于0
if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
// 取父窗口下面的名字为"n的第p位以后的字符串"的frames
d = parent.frames[n.substring(p + 1)].document;
// 从0到p位截取n
n = n.substring(0, p);
}
// document[n]存在并且d.all存在 x为d.all[n]
if (! (x = d[n]) && d.all)
x = d.all[n];
// 迭代document.forms x为d.forms[i][n] 第i个form的第n-1个;
for (i = 0; ! x && i < d.forms.length; i++)
x = d.forms[i][n];
// 迭代document.layers
for (i = 0; ! x && d.layers && i < d.layers.length; i++)
// 查找特定对象
x = MM_findObj(n, d.layers[i].document);
// x取id为n的对象
if (!x && d.getElementById)
x = d.getElementById(n);
return x;
}
function MM_swapImage() { //v3.0
var i, j = 0,
x, a = MM_swapImage.arguments;
document.MM_sr = new Array;
// 定义特定的规则 如何交换图片
for (i = 0; i < (a.length - 2); i += 3)
if ((x = MM_findObj(a[i])) != null) {
document.MM_sr[j++] = x;
if (!x.oSrc) x.oSrc = x.src;
x.src = a[i + 2];
}
} < /script>/从代码大致来看应该是实现了一个二维图片矩阵
然后每次打乱里面的内容 实现矩阵内的图片变换换位置
追问:敢问兄台用的是什么软件,还能有显示注释的功能
追答:大哥阿 那些注释都是我写上去的.......
追问:必须采纳啊,虽然这代码还没看明白
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯