日期:2014-05-16 浏览次数:20391 次
function createPicMove(a, b, c) { var h = function (k, n, m, l) { this._slider = g(n); this._container = g(k); this._timer = null; this._count = Math.abs(m); this._target = 0; this._t = this._b = this._c = 0; this.Index = 0; this.SetOptions(l); this.Auto = !!this.options.Auto; this.Duration = Math.abs(this.options.Duration); this.Time = Math.abs(this.options.Time); this.Pause = Math.abs(this.options.Pause); this.Tween = this.options.Tween; this.onStart = this.options.onStart; this.onFinish = this.options.onFinish; var j = !!this.options.Vertical; this._css = j ? "top" : "left"; var o = f(this._container).position; o == "relative" || o == "absolute" || (this._container.style.position = "relative"); this._container.style.overflow = "hidden"; this._slider.style.position = "absolute"; this.Change = this.options.Change ? this.options.Change : this._slider[j ? "offsetHeight" : "offsetWidth"] / this._count }; h.prototype = { SetOptions: function (j) { this.options = { Vertical: true, Auto: true, Change: 0, Duration: 50, Time: 10, Pause: 4000, onStart: function () { }, onFinish: function () { }, Tween: e.Quart.easeOut }; d(this.options, j || {}) }, Run: function (j) { j == undefined && (j = this.Index); j < 0 && (j = this._count - 1) || j >= this._count && (j = 0); this._target = -Math.abs(this.Change) * (this.Index = j); this._t = 0; this._b = parseInt(f(this._slider)[this.options.Vertical ? "top" : "left"]); this._c = this._target - this._b; this.onStart(); this.Move() }, Move: function () { clearTimeout(this._timer); if (this._c && this._t < this.Duration) { this.MoveTo(Math.round(this.Tween(this._t++, this._b, this._c, this.Duration))); this._timer = setTimeout(i(this, this.Move), this.Time) } else { this.MoveTo(this._target); this.Auto && (this._timer = setTimeout(i(this, this.Next), this.Pause)) } }, MoveTo: function (j) { this._slider.style[this._css] = j + "px" }, Next: function () { this.Run(++this.Index) }, Previous: function () { this.Run(--this.Index) }, Stop: function () { clearTimeout(this._timer); this.MoveTo(this._target) } }; return new h(a, b, c, { Vertical: false }) }
<script type="text/javascript"> var picMove = createPicMove("参数列表"); picMove.Next(); picMove.Previous(); </script>
------解决方案--------------------
创建实例然后通过实例调用
var o=new createPicMove(/*a,b,c参数的值*/) o.Next(); o.Previouse()
------解决方案--------------------
你这个是类似于工厂函数
createPicMove().Previous()就可以调用
function aa(){ var o = function(){ this.name = "深蓝&quo