日期:2014-05-16  浏览次数:20302 次

帮我看看这段代码什么意思?
本帖最后由 yang131261 于 2013-08-29 16:59:51 编辑


 <script type="text/javascript">
/* ==== slider nameSpace ==== */
var slider = function() {
/* ==== private methods ==== */
function getElementsByClass(object, tag, className) {
var o = object.getElementsByTagName(tag);
for ( var i = 0, n = o.length, ret = []; i < n; i++) {
if (o[i].className == className) ret.push(o[i]);
}
if (ret.length == 1) ret = ret[0];
return ret;
}
function setOpacity (obj,o) {
if (obj.filters) obj.filters.alpha.opacity = Math.round(o);
else obj.style.opacity = o / 100;
}


/* ==== Slider Constructor ==== */
function Slider(oCont, speed, iW, iH, oP) {
this.slides = [];
this.over   = false;
this.S      = this.S0 = speed;
this.iW     = iW;
this.iH     = iH;
this.oP     = oP;
this.oc     = document.getElementById(oCont);
this.frm    = getElementsByClass(this.oc, 'div', 'slide');
this.NF     = this.frm.length;
this.resize();
for (var i = 0; i < this.NF; i++) {
this.slides[i] = new Slide(this, i);
}
this.oc.parent = this;
this.view      = this.slides[0];
this.Z         = this.mx;
/* ==== on mouse out event ==== */
this.oc.onmouseout = function () {
this.parent.mouseout();
return false;
}
}
Slider.prototype = {
/* ==== animation loop ==== */
run : function () {
this.Z += this.over ? (this.mn - this.Z) * .5 : (this.mx - this.Z) * .5;
this.view.calc();
var i = this.NF;
while (i--) this.slides[i].move();
},
/* ==== resize  ==== */
resize : function () {
this.wh = this.oc.clientWidth;//750
this.ht = this.oc.clientHeight;