<!--
function BookMark(name) { // 创建一个“书签层”。 this.create = function(name) { // 建立书签对象
this.trim = function(s) { // 去尾部空格
var i = 0;
for (i = s.length-1; i >= 0; i--) {if (s.charAt(i) != " ") break;}
return s.substring(0,i+1);
}
this.name = (name==null?"":this.trim(name)); // 书签名。字母、数字、下划线,不可间空。
if (this.name==null || this.name=="") {
alert("书签的名必须要有");
return null;
}
if (eval("(document." + this.name + "?true:false)")) {
alert("document." + this.name + "已经存在,请换一个书签名");
return null;
}
//--------- 定义属性 --------------------------- this.bookMarks = new Array(0); // 书签页数组
this.radianWidth = 5; // 标题栏圆角的弧度点数
this.bgColor = "#ffffff"; // 书签之下的颜色
this.bookMarkColor1 = "#c0c0c2"; // 书签的普通色
this.bookMarkColor2 = "#c0c0b2"; // 书签提起的颜色
this.titleHeight = 20; // 书签标题行的高度
this.borderColor1 = "#ffffff"; // 书签边界的亮色
this.borderColor2 = "#666666"; // 书签边界的浅暗色
this.borderColor3 = "#000000"; // 书签边界的深暗色
this.bookMarkWidth = 300; // 书签宽度
this.bookMarkHeight = 0; // 书签高度// --------- 以下是中间变量,不用改 ----------------- this.hasCreated = false; // 书签是否已建立
this.pageWidth = 0; // 书签页宽度//---------- 载入函数 ----------- this.test = function() { // 检查参数
if (this.radianWidth < 2) {this.radianWidth = 2;}
if (this.titleHeight < 6) {this.radianWidth = 6;}
if (this.bookMarkHeight < this.titleHeight + this.radianWidth + 2) {
this.bookMarkHeight = this.titleHeight + this.radianWidth + 2;
}
var titleWidth = (this.bookMarkWidth/this.bookMarks.length) - (2*this.radianWidth);
if (titleWidth < 40) {
titleWidth = 40;
this.bookMarkWidth = (titleWidth + 2*this.radianWidth) * this.bookMarks.length;
}
if (this.bookMarks.length == 0) {
alert("必须有书签内容");
return false;
}
this.pageWidth = titleWidth;
return true;
}
this.addBookMark = function(tit, content) { // 增加一个书签页
if (this.hasCreated) {alert("书签已画过了,不能增加书签页"); return;}
this.bookMarks[this.bookMarks.length] = new Object();
this.bookMarks[this.bookMarks.length-1].title = (tit==null?"":tit); // 书签标题
this.bookMarks[this.bookMarks.length-1].contentHTML = (content==null?"":content); // 书签内容。是 HTML 标记串
this.bookMarks[this.bookMarks.length-1].elementLine = null;
this.bookMarks[this.bookMarks.length-1].elementTitle = null;
this.bookMarks[this.bookMarks.length-1].elementContent = null;
this.bookMarks[this.bookMarks.length-1].elementContentX = null;
this.bookMarks[this.bookMarks.length-1].elementLastDot1 = null;
this.bookMarks[this.bookMarks.length-1].elementLastDot2 = null;
}
function BookMark(name) { // 创建一个“书签层”。 this.create = function(name) { // 建立书签对象
this.trim = function(s) { // 去尾部空格
var i = 0;
for (i = s.length-1; i >= 0; i--) {if (s.charAt(i) != " ") break;}
return s.substring(0,i+1);
}
this.name = (name==null?"":this.trim(name)); // 书签名。字母、数字、下划线,不可间空。
if (this.name==null || this.name=="") {
alert("书签的名必须要有");
return null;
}
if (eval("(document." + this.name + "?true:false)")) {
alert("document." + this.name + "已经存在,请换一个书签名");
return null;
}
//--------- 定义属性 --------------------------- this.bookMarks = new Array(0); // 书签页数组
this.radianWidth = 5; // 标题栏圆角的弧度点数
this.bgColor = "#ffffff"; // 书签之下的颜色
this.bookMarkColor1 = "#c0c0c2"; // 书签的普通色
this.bookMarkColor2 = "#c0c0b2"; // 书签提起的颜色
this.titleHeight = 20; // 书签标题行的高度
this.borderColor1 = "#ffffff"; // 书签边界的亮色
this.borderColor2 = "#666666"; // 书签边界的浅暗色
this.borderColor3 = "#000000"; // 书签边界的深暗色
this.bookMarkWidth = 300; // 书签宽度
this.bookMarkHeight = 0; // 书签高度// --------- 以下是中间变量,不用改 ----------------- this.hasCreated = false; // 书签是否已建立
this.pageWidth = 0; // 书签页宽度//---------- 载入函数 ----------- this.test = function() { // 检查参数
if (this.radianWidth < 2) {this.radianWidth = 2;}
if (this.titleHeight < 6) {this.radianWidth = 6;}
if (this.bookMarkHeight < this.titleHeight + this.radianWidth + 2) {
this.bookMarkHeight = this.titleHeight + this.radianWidth + 2;
}
var titleWidth = (this.bookMarkWidth/this.bookMarks.length) - (2*this.radianWidth);
if (titleWidth < 40) {
titleWidth = 40;
this.bookMarkWidth = (titleWidth + 2*this.radianWidth) * this.bookMarks.length;
}
if (this.bookMarks.length == 0) {
alert("必须有书签内容");
return false;
}
this.pageWidth = titleWidth;
return true;
}
this.addBookMark = function(tit, content) { // 增加一个书签页
if (this.hasCreated) {alert("书签已画过了,不能增加书签页"); return;}
this.bookMarks[this.bookMarks.length] = new Object();
this.bookMarks[this.bookMarks.length-1].title = (tit==null?"":tit); // 书签标题
this.bookMarks[this.bookMarks.length-1].contentHTML = (content==null?"":content); // 书签内容。是 HTML 标记串
this.bookMarks[this.bookMarks.length-1].elementLine = null;
this.bookMarks[this.bookMarks.length-1].elementTitle = null;
this.bookMarks[this.bookMarks.length-1].elementContent = null;
this.bookMarks[this.bookMarks.length-1].elementContentX = null;
this.bookMarks[this.bookMarks.length-1].elementLastDot1 = null;
this.bookMarks[this.bookMarks.length-1].elementLastDot2 = null;
}
解决方案 »
- alert提示太难看了
- 实现遮罩功能,为何在chrome和firefox下不正常
- JS的这个问题怎么解决(不知道怎么去描述它)
- 用YUI TreeView 动态生成一个包含多级子节点的树~~ 大侠们来帮帮忙啊 急~~~~
- 新手幼稚问题2:关于charset
- js对话框弹出问题
- 聊天室中如何实现 CTRL+ENTER 发送信息?
- 关于:页面打印,请问webBrowse控件怎么在另一框架中打印其他某一特定框架中的页面?
- 怎么用JS读取本地的INI文件,,,并把INI中的内容写入静态HTML页的一些textfield里面?
- 怎样正确返回上一页面的层???
- 关于判断radio值的问题,大家请帮忙!
- 在vbscript里的function怎么返回值呢?
if (this.hasCreated) {alert("书签已画过了"); return;}
if (!this.test()) {return;}
this.hasCreated = true;
if (showNo==null || isNaN(showNo)) {showNo = 1;}
//================== 输出开始 =======================
var ss = "";
var i = 0, j = 0, k = 0;
ss = "<table id=bookMark_" + this.name
+ " width='" + this.bookMarkWidth + "' height='" + this.bookMarkHeight
+ "' cellpadding=0 border=0 cellspacing=0 bgcolor='" + this.bgColor + "'>"
+ "<tr height='" + (this.titleHeight+this.radianWidth) + "'>";
for (i = 0; i < this.bookMarks.length; i++) { //======== 输出各个书签标题开始 =============
ss += "<td><table id=bookMarkT_"+this.name+"_"+i+" width='100%' border=0 cellspacing=0 cellpadding=0>";
//--------------- 输出第 1 行 --------------------
ss += "<tr height=1>";
for (k = 0; k < this.radianWidth; k++) {ss += "<td width=1 bgcolor='" + this.bgColor + "'></td>";}
ss += "<td bgcolor=" + this.borderColor1 + " width="+this.pageWidth+"></td>"; //==== 中间段 ====
for (k = 0; k < this.radianWidth; k++) {ss += "<td width=1 bgcolor='" + this.bgColor + "'></td>";}
ss += "</tr>";
//--------------- 输出中间数行 ----------------------
for (j = 1; j < this.radianWidth; j++) {
ss += "<tr height=1>";
for (k = 0; k < this.radianWidth-j; k++) {ss += "<td width=1 bgcolor='" + this.bgColor + "'></td>";}
ss += "<td width=1 bgcolor=" + this.borderColor1 + "></td>";
k++;
for (k; k < this.radianWidth; k++) {ss += "<td width=1></td>";}
ss += "<td width="+this.pageWidth+"> </td>"; //==== 中间段 ====
for (k = 0; k < j; k++) {ss += "<td width=1></td>";}
ss += "<td width=1 bgcolor=" + this.borderColor3 + "></td>";
k++;
for (k; k < this.radianWidth; k++) {ss += "<td width=1 bgcolor='" + this.bgColor + "'></td>";}
ss += "</tr>";
}
//-------------- 输出标题行 -----------------------
ss += "<tr><td width=1 bgcolor=" + this.borderColor1 + "></td>";
for (k = 1; k < this.radianWidth; k++) {ss += "<td width=1></td>";}
ss += "<td width="+this.pageWidth+" height=" + this.titleHeight + " align=center"
+ " onclick='document." + this.name + ".show(" + (i+1) + ")'"
+ " onMouseOver=\"this.style.cursor='hand'\" nowrap>" + this.bookMarks[i].title + "</td>";
for (k = 0; k < this.radianWidth-2; k++) {ss += "<td width=1></td>";}
ss += "<td width=1 bgcolor=" + this.borderColor2 + "></td>";
ss += "<td width=1 bgcolor=" + this.borderColor3 + "></td></tr>";
//-------------- 输出最后 1 行 -----------------------
ss += "<tr height=1><td width=1 bgcolor=" + this.borderColor1+"></td>";
ss += "<td id=bookMarkL_" + this.name + "_"+i+" colspan=" + (2*this.radianWidth-2)
+ " bgcolor=" + this.borderColor1 + "></td>";
ss += "<td width=1 id=bookMarkLastDot1_"+this.name+"_" + i + " bgcolor=" + this.borderColor2 + "></td>";
ss += "<td width=1 id=bookMarkLastDot2_"+this.name+"_" + i + " bgcolor=" + this.borderColor3 + "></td></tr>";
//-----------------------------------------
ss += "</table></td>";
}
ss += "</tr><tr><td valign=top colspan=" + this.bookMarks.length + ">";
for (i = 0; i < this.bookMarks.length; i++) { //======== 输出各个书签内容层开始 =============
ss += "<div id=bookMarkC_" + this.name + "_" + i + " style='display:none;top:-"
+ (this.bookMarkHeight-this.titleHeight-this.radianWidth-1)+";'>";
ss += "<table width='100%' border=0 cellspacing=0 cellpadding=0>";
ss += "<tr height="+(this.bookMarkHeight-this.titleHeight-this.radianWidth-2)+">";
ss += "<td width=1 bgcolor=" + this.borderColor1 + "></td>";
ss += "<td bgcolor=" + this.bookMarkColor2 + " valign=top id=bookMarkX_"+this.name+"_" + i + "></td>";
ss += "<td width=1 bgcolor=" + this.borderColor2 + ">";
ss += "<td width=1 bgcolor=" + this.borderColor3 + "></td></tr>";
ss += "<tr height=1><td colspan=4 bgcolor=" + this.borderColor3 + "></td></tr></table></div>";
}
ss += "</td></tr></table>";
if (putObj) {putObj.innerHTML = ss;}
else {document.writeln(ss);}
//------------- 输出各个书签内容 ------------------------
for (i = 0; i < this.bookMarks.length; i++) {
this.bookMarks[i].elementLine = eval("document.all.bookMarkL_"+this.name+"_" + i);
this.bookMarks[i].elementTitle = eval("document.all.bookMarkT_"+this.name+"_" + i);
this.bookMarks[i].elementContent = eval("document.all.bookMarkC_"+this.name+"_" + i);
this.bookMarks[i].elementContentX = eval("document.all.bookMarkX_"+this.name+"_" + i);
this.bookMarks[i].elementLastDot1 = eval("document.all.bookMarkLastDot1_"+this.name+"_" + i);
this.bookMarks[i].elementLastDot2 = eval("document.all.bookMarkLastDot2_"+this.name+"_" + i);
this.bookMarks[i].elementContentX.innerHTML = this.bookMarks[i].contentHTML;
}
//====================== 输出结束 ========================
this.show(showNo);
}
if (n==null || n<1 || n>this.bookMarks.length) {alert("只能显示 1—— " + this.bookMarks.length + " 页"); return;}
else {n = n-1;}
for (var i = 0; i < this.bookMarks.length; i++) {
if (i == n) {
this.bookMarks[i].elementTitle.style.backgroundColor = this.bookMarkColor2;
this.bookMarks[i].elementLine.style.backgroundColor = this.bookMarkColor2;
if (i == this.bookMarks.length-1) {
this.bookMarks[i].elementLastDot1.style.backgroundColor = this.borderColor2;
this.bookMarks[i].elementLastDot2.style.backgroundColor = this.borderColor3;
}
else {this.bookMarks[i].elementLastDot1.style.backgroundColor = this.bookMarkColor2;
this.bookMarks[i].elementLastDot2.style.backgroundColor = this.bookMarkColor2;
}
this.bookMarks[i].elementContent.style.display = "block";
}
else {this.bookMarks[i].elementTitle.style.backgroundColor = this.bookMarkColor1;
this.bookMarks[i].elementLine.style.backgroundColor = this.borderColor1;
if (i == this.bookMarks.length-1) {
this.bookMarks[i].elementLastDot1.style.backgroundColor = this.borderColor2;
this.bookMarks[i].elementLastDot2.style.backgroundColor = this.borderColor3;
}
else {this.bookMarks[i].elementLastDot1.style.backgroundColor = this.borderColor1;
this.bookMarks[i].elementLastDot2.style.backgroundColor = this.borderColor1;
}
this.bookMarks[i].elementContent.style.display = "none";
}
}
}//---------------- 函数载入结束 ---------------------------
return this;
}
var w = new this.create(name);
if (w != null) {eval("document." + name + " = w");}
return w;
}//-->