📄 x_bar.js
字号:
// x_bar.js, part of X, a Cross-Browser.com Javascript Library
// Copyright (C) 2001,2002,2003,2004,2005 Michael Foster - Distributed under the terms of the GNU LGPL - OSI Certified
// File Rev: 3
function xBar(dir, // direction, 'ltr', 'rtl', 'ttb', or 'btt'
conStyle, barStyle) // container and bar style class names
{
//// Public Properties
this.value = 0; // current value, read-only
//// Public Methods
// Update current value
this.update = function(v)
{
if (v < 0) v = 0;
else if (v > this.inMax) v = this.inMax;
this.con.title = this.bar.title = this.value = v;
switch(this.dir) {
case 'ltr': // left to right
v = this.scale(v, this.w);
xLeft(this.bar, v - this.w);
break;
case 'rtl': // right to left
v = this.scale(v, this.w);
xLeft(this.bar, this.w - v);
break;
case 'btt': // bottom to top
v = this.scale(v, this.h);
xTop(this.bar, this.h - v);
break;
case 'ttb': // top to bottom
v = this.scale(v, this.h);
xTop(this.bar, v - this.h);
break;
}
};
// Change position and/or size
this.paint = function(x, y, // container position
w, h) // container size
{
if (xNum(x)) this.x = x;
if (xNum(y)) this.y = y;
if (xNum(w)) this.w = w;
if (xNum(h)) this.h = h;
xResizeTo(this.con, this.w, this.h);
xMoveTo(this.con, this.x, this.y);
xResizeTo(this.bar, this.w, this.h);
xMoveTo(this.bar, 0, 0);
};
// Change scale and/or start value
this.reset = function(max, start) // non-scaled values
{
if (xNum(max)) this.inMax = max;
if (xNum(start)) this.start = start;
this.update(this.start);
};
//// Private Methods
this.scale = function(v, outMax)
{
return Math.round(xLinearScale(v, 0, this.inMax, 0, outMax));
};
//// Private Properties
this.dir = dir;
this.x = 0;
this.y = 0;
this.w = 100;
this.h = 100;
this.inMax = 100;
this.start = 0;
this.conStyle = conStyle;
this.barStyle = barStyle;
//// Constructor
// Create container
this.con = document.createElement('DIV');
this.con.className = this.conStyle;
// Create bar
this.bar = document.createElement('DIV');
this.bar.className = this.barStyle;
// Insert in object tree
this.con.appendChild(this.bar);
document.body.appendChild(this.con);
} // end xBar
//// Support Functions
function xLinearScale(value, inMin, inMax, outMin, outMax)
{
var m = (outMax - outMin) / (inMax - inMin);
var b = outMin - (inMin * m);
return (m * value + b);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -