/* 彭彭滚动组件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;
}