/* 彭彭滚动组件1.0 2007年11月1日 作者:彭成刚 网站:http://www.zzcn.net/ qq:76526211 */ /* 组件注意地方:滚动的部分高度或宽度要高于滚动框架的高度或宽度。调用方式放在html架构代码下方。 关于w_demo的问题,由于横向滚动的时候需要调整整体的宽度,所以要多套一层框架。 html架构代码: (上下)
滚动主题
(左右)
滚动内容(注意横向滚动内容的东西里一定要有宽度,比如嵌入一table,一定要让它有宽度)
//调用方式 */ function pproll(a) { this.mya = a; this.mya.isplay = 1; this.$(a.demo).style.overflow = "hidden"; this.$(a.demo).style.width = a.width; this.$(a.demo).style.height = a.height; this.$(a.demo2).innerhtml = this.$(a.demo1).innerhtml; this.$(a.demo).scrolltop = this.$(a.demo).scrollheight; this.marquee(); this.$(a.demo).onmouseover = function () { eval(a.objstr + ".clearintervalpp();"); } this.$(a.demo).onmouseout = function () { eval(a.objstr + ".settimeoutpp();") } } pproll.prototype.$ = function (id) { return document.getelementbyid(id); } pproll.prototype.getv = function () { alert(this.$(this.mya.demo2).offsetwidth - this.$(this.mya.demo).scrollleft); alert(this.$(this.mya.demo2).offsetwidth); alert(this.$(this.mya.demo).scrollleft); } pproll.prototype.marquee = function () { this.mymar = settimeout(this.mya.objstr + ".marquee();", this.mya.speed); if (this.mya.isplay == 1) { //向上滚动 if (this.mya.direction == "top") { if (this.$(this.mya.demo).scrolltop >= this.$(this.mya.demo2).offsetheight) this.$(this.mya.demo).scrolltop -= this.$(this.mya.demo2).offsetheight; else { this.$(this.mya.demo).scrolltop++; } } //向下滚动 if (this.mya.direction == "down") { if (this.$(this.mya.demo1).offsettop - this.$(this.mya.demo).scrolltop >= 0) this.$(this.mya.demo).scrolltop += this.$(this.mya.demo2).offsetheight; else { this.$(this.mya.demo).scrolltop--; } } //向左滚动 if (this.mya.direction == "left") { if (this.$(this.mya.demo2).offsetwidth - this.$(this.mya.demo).scrollleft <= 0) this.$(this.mya.demo).scrollleft -= this.$(this.mya.demo1).offsetwidth; else { this.$(this.mya.demo).scrollleft++; } } //向右滚动 if (this.mya.direction == "right") { if (this.$(this.mya.demo).scrollleft <= 0) this.$(this.mya.demo).scrollleft += this.$(this.mya.demo2).offsetwidth; else { this.$(this.mya.demo).scrollleft--; } } } } pproll.prototype.clearintervalpp = function () { this.mya.isplay = 0; } pproll.prototype.settimeoutpp = function () { this.mya.isplay = 1; }