init commit
This commit is contained in:
78
www/javascript/jsScroller.js
Normal file
78
www/javascript/jsScroller.js
Normal file
@@ -0,0 +1,78 @@
|
||||
//Written by Nathan Faubion: http://n-son.com
|
||||
//Use this or edit how you want, just give me
|
||||
//some credit!
|
||||
|
||||
function jsScroller (o, w, h) {
|
||||
var self = this;
|
||||
var list = o.getElementsByTagName("div");
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
if (list[i].className.indexOf("Scroller-Container") > -1) {
|
||||
o = list[i];
|
||||
}
|
||||
}
|
||||
|
||||
//Private methods
|
||||
this._setPos = function (x, y) {
|
||||
if (x < this.viewableWidth - this.totalWidth)
|
||||
x = this.viewableWidth - this.totalWidth;
|
||||
if (x > 0) x = 0;
|
||||
if (y < this.viewableHeight - this.totalHeight)
|
||||
y = this.viewableHeight - this.totalHeight;
|
||||
if (y > 0) y = 0;
|
||||
this._x = x;
|
||||
this._y = y;
|
||||
with (o.style) {
|
||||
left = this._x +"px";
|
||||
top = this._y +"px";
|
||||
}
|
||||
};
|
||||
|
||||
//Public Methods
|
||||
this.reset = function () {
|
||||
this.content = o;
|
||||
this.totalHeight = o.offsetHeight;
|
||||
this.totalWidth = o.offsetWidth;
|
||||
this._x = 0;
|
||||
this._y = 0;
|
||||
with (o.style) {
|
||||
left = "0px";
|
||||
top = "0px";
|
||||
}
|
||||
};
|
||||
this.scrollBy = function (x, y) {
|
||||
this._setPos(this._x + x, this._y + y);
|
||||
};
|
||||
this.scrollTo = function (x, y) {
|
||||
this._setPos(-x, -y);
|
||||
};
|
||||
this.stopScroll = function () {
|
||||
if (this.scrollTimer) window.clearInterval(this.scrollTimer);
|
||||
};
|
||||
this.startScroll = function (x, y) {
|
||||
this.stopScroll();
|
||||
this.scrollTimer = window.setInterval(
|
||||
function(){ self.scrollBy(x, y); }, 40
|
||||
);
|
||||
};
|
||||
this.swapContent = function (c, w, h) {
|
||||
o = c;
|
||||
var list = o.getElementsByTagName("div");
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
if (list[i].className.indexOf("Scroller-Container") > -1) {
|
||||
o = list[i];
|
||||
}
|
||||
}
|
||||
if (w) this.viewableWidth = w;
|
||||
if (h) this.viewableHeight = h;
|
||||
this.reset();
|
||||
};
|
||||
|
||||
//variables
|
||||
this.content = o;
|
||||
this.viewableWidth = w;
|
||||
this.viewableHeight = h;
|
||||
this.totalWidth = o.offsetWidth;
|
||||
this.totalHeight = o.offsetHeight;
|
||||
this.scrollTimer = null;
|
||||
this.reset();
|
||||
};
|
||||
Reference in New Issue
Block a user