UI 文件雏形...Styler.js // shawl.qiu JavaScript Document
/*-----------------------------------------------------------------------------------*\
* shawl.qiu Styler class v1.0
\*-----------------------------------------------------------------------------------*/
//---------------------------------begin class Styler()-------------------------------//
function Styler()
{ // shawl.qiu code
//------------------------------------begin public variable
//------------------------------------end public variable
//------------------------------------begin private variable
//---------------begin about
var Au = {}
Au.Subject = "shawl.qiu Styler class ";
Au.Version = "v1.0";
Au.Name = "shawl.qiu";
Au.Email = "[email protected]";
Au.Blog = "http://blog.csdn.net/btbtd";
Au.CreatedDate = "2007-7-31";
Au.Update = {};
Au.Update["1"] = "";
//---------------end about
var This = this;
var Main = {};
Main.Id = "StylerId";
Main.Element = null;
var Engine = null;
var GenreSelect = {};
GenreSelect.Id = Main.Id+"GenreSelect";
GenreSelect.Element = null;
GenreSelect.Default = "CLike"; //CLike|BasicLike
var Container = {};
Container.Len = 4;
Container.IdPrefix = Main.Id+"Container";
Container.Set = [];
Container.Init = false;
var Textarea = {};
Textarea.Id = Main.Id+"TextArea.Id";
//------------------------------------end private variable
//------------------------------------begin public method
this.Get = {};
this.Get.Au = fGetAu;
this.Set = {};
this.Set.Main = fSetMain;
this.Set.Engine = fSetEngine;
this.Set.Container = fSetContainer;
this.Set.GenreSelect = fGenreSelect;
this.Go = fGo;
//------------------------------------end public method
//------------------------------------begin private method
function fGenreSelect(sId, sDefaultSelect, sLbl)
{
if(!sId) sId = GenreSelect.Id;
if(!sLbl) sLbl = "<b>流派:</b> ";
if(sDefaultSelect&&sDefaultSelect!="") GenreSelect.Default = sDefaultSelect;
var Sle = document.createElement("select");
Sle.id = sId;
switch(GenreSelect.Default)
{
case "CLike":
fAddOption(Sle, "类C", "CLike", false, false);
fAddOption(Sle, "类Basic", "BasicLike", false, false);
break;
case "BasicLike":
fAddOption(Sle, "类Basic", "BasicLike", false, false);
fAddOption(Sle, "类C", "CLike", false, false);
break;
default:
fAddOption(Sle, "类C", "CLike", false, false);
fAddOption(Sle, "类Basic", "BasicLike", false, false);
break;
}
Container.Set[0].innerHTML = sLbl;
Container.Set[0].appendChild(Sle);
GenreSelect.Element = document.getElementById(sId);
}
function fAddOption(sle, text, value, defaultSelected, selected)
{// shawl.qiu script
if(!defaultSelected) defaultSelected = false;
if(!selected) selected = false;
sle.options[sle.options.length] = new Option(text, value, defaultSelected, selected);
} // end function fAddOption
function fSetContainer(OrderAr)
{
if(!Container.Init)
{
var Count = 0;
var TempId = "";
while(Count<Container.Len)
{
TempId = Container.IdPrefix+Count;
var Div = document.createElement("div");
Div.id = TempId;
Main.Element.appendChild(Div);
Container.Set[Count] = document.getElementById(TempId);
Count++;
}
Container.Init = true;
}
if(OrderAr.constructor==Array&&OrderAr.length==Container.Len)
{
var Len = OrderAr.length;
var Index = 0;
OrderAr.reverse();
while(--Len>-1)
{
Index = OrderAr[Len];
Main.Element.removeChild(Container.Set[Index]);
Main.Element.appendChild(Container.Set[Index]);
}
}
} // end function fSetContainer
function fSetMain(sId)
{
Main.Element = fGetObj(sId, "无法获得主域!");
}
function fSetEngine(EngineClass)
{
Engine = EngineClass;
if(Engine == null) throw new Error("风格引擎不能为空!");
}
function fGetObj(sId, sMsg)
{// shawl.qiu code : return HTMLElement
if(!sMsg) sMsg = "无法获得对象!";
var Obj = null;
switch(typeof(sId)+"")
{
case "string":
Obj = document.getElementById(sId);
break;
case "object":
Obj = sId;
break;
}
if(Obj==null)
{
throw new Error(sMsg);
}
return Obj;
} // end function fGetObj(sId, sMsg)
function fRandomLetter(iLen, sCase)
{// shawl.qiu code : return strings
var TextAr = [];
var ReturnAr = [];
var UpAr = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S',
'T','U','V','W','X','Y','Z'];
var LwAr = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t',
'u','v','w','x','y','z'];
var DigAr = [0,1,2,3,4,5,6,7,8,9];
switch(sCase)
{
case 'upper':
TextAr=UpAr;
break;
case 'lower':
TextAr=LwAr;
break;
case 'letter':
TextAr=UpAr.concat(LwAr);
break;
default:
TextAr=UpAr.concat(LwAr, DigAr);
break;
}
var Len = TextAr.length-1;
while(--iLen>-1)
{
ReturnAr.push(TextAr[fRandomBy(0, Len)]);
}
return ReturnAr.join("");
function fRandomBy(under, over)
{// shawl.qiu script
switch(arguments.length)
{
case 1: return parseInt(Math.random()*under+1);
case 2: return parseInt(Math.random()*(over-under+1) + under);
default: return 0;
} // end switch
} // end function fRandomBy
} // end function fRandomLetter
function fGo()
{
Container.Set[1].innerHTML = "选项:<br/> ";
Container.Set[2].innerHTML = "2";
Container.Set[3].innerHTML = "内容:<br/>";
} // end function fGo
function fGetAu()
{
return Au;
}
//------------------------------------end private method
} // shawl.qiu code
//---------------------------------end class Styler()---------------------------------//
/*-----------------------------------------------------------------------------------*\
* shawl.qiu Styler class v1.0
\*-----------------------------------------------------------------------------------*/
//---------------------------------begin class Styler()-------------------------------//
function Styler()
{ // shawl.qiu code
//------------------------------------begin public variable
//------------------------------------end public variable
//------------------------------------begin private variable
//---------------begin about
var Au = {}
Au.Subject = "shawl.qiu Styler class ";
Au.Version = "v1.0";
Au.Name = "shawl.qiu";
Au.Email = "[email protected]";
Au.Blog = "http://blog.csdn.net/btbtd";
Au.CreatedDate = "2007-7-31";
Au.Update = {};
Au.Update["1"] = "";
//---------------end about
var This = this;
var Main = {};
Main.Id = "StylerId";
Main.Element = null;
var Engine = null;
var GenreSelect = {};
GenreSelect.Id = Main.Id+"GenreSelect";
GenreSelect.Element = null;
GenreSelect.Default = "CLike"; //CLike|BasicLike
var Container = {};
Container.Len = 4;
Container.IdPrefix = Main.Id+"Container";
Container.Set = [];
Container.Init = false;
var Textarea = {};
Textarea.Id = Main.Id+"TextArea.Id";
//------------------------------------end private variable
//------------------------------------begin public method
this.Get = {};
this.Get.Au = fGetAu;
this.Set = {};
this.Set.Main = fSetMain;
this.Set.Engine = fSetEngine;
this.Set.Container = fSetContainer;
this.Set.GenreSelect = fGenreSelect;
this.Go = fGo;
//------------------------------------end public method
//------------------------------------begin private method
function fGenreSelect(sId, sDefaultSelect, sLbl)
{
if(!sId) sId = GenreSelect.Id;
if(!sLbl) sLbl = "<b>流派:</b> ";
if(sDefaultSelect&&sDefaultSelect!="") GenreSelect.Default = sDefaultSelect;
var Sle = document.createElement("select");
Sle.id = sId;
switch(GenreSelect.Default)
{
case "CLike":
fAddOption(Sle, "类C", "CLike", false, false);
fAddOption(Sle, "类Basic", "BasicLike", false, false);
break;
case "BasicLike":
fAddOption(Sle, "类Basic", "BasicLike", false, false);
fAddOption(Sle, "类C", "CLike", false, false);
break;
default:
fAddOption(Sle, "类C", "CLike", false, false);
fAddOption(Sle, "类Basic", "BasicLike", false, false);
break;
}
Container.Set[0].innerHTML = sLbl;
Container.Set[0].appendChild(Sle);
GenreSelect.Element = document.getElementById(sId);
}
function fAddOption(sle, text, value, defaultSelected, selected)
{// shawl.qiu script
if(!defaultSelected) defaultSelected = false;
if(!selected) selected = false;
sle.options[sle.options.length] = new Option(text, value, defaultSelected, selected);
} // end function fAddOption
function fSetContainer(OrderAr)
{
if(!Container.Init)
{
var Count = 0;
var TempId = "";
while(Count<Container.Len)
{
TempId = Container.IdPrefix+Count;
var Div = document.createElement("div");
Div.id = TempId;
Main.Element.appendChild(Div);
Container.Set[Count] = document.getElementById(TempId);
Count++;
}
Container.Init = true;
}
if(OrderAr.constructor==Array&&OrderAr.length==Container.Len)
{
var Len = OrderAr.length;
var Index = 0;
OrderAr.reverse();
while(--Len>-1)
{
Index = OrderAr[Len];
Main.Element.removeChild(Container.Set[Index]);
Main.Element.appendChild(Container.Set[Index]);
}
}
} // end function fSetContainer
function fSetMain(sId)
{
Main.Element = fGetObj(sId, "无法获得主域!");
}
function fSetEngine(EngineClass)
{
Engine = EngineClass;
if(Engine == null) throw new Error("风格引擎不能为空!");
}
function fGetObj(sId, sMsg)
{// shawl.qiu code : return HTMLElement
if(!sMsg) sMsg = "无法获得对象!";
var Obj = null;
switch(typeof(sId)+"")
{
case "string":
Obj = document.getElementById(sId);
break;
case "object":
Obj = sId;
break;
}
if(Obj==null)
{
throw new Error(sMsg);
}
return Obj;
} // end function fGetObj(sId, sMsg)
function fRandomLetter(iLen, sCase)
{// shawl.qiu code : return strings
var TextAr = [];
var ReturnAr = [];
var UpAr = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S',
'T','U','V','W','X','Y','Z'];
var LwAr = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t',
'u','v','w','x','y','z'];
var DigAr = [0,1,2,3,4,5,6,7,8,9];
switch(sCase)
{
case 'upper':
TextAr=UpAr;
break;
case 'lower':
TextAr=LwAr;
break;
case 'letter':
TextAr=UpAr.concat(LwAr);
break;
default:
TextAr=UpAr.concat(LwAr, DigAr);
break;
}
var Len = TextAr.length-1;
while(--iLen>-1)
{
ReturnAr.push(TextAr[fRandomBy(0, Len)]);
}
return ReturnAr.join("");
function fRandomBy(under, over)
{// shawl.qiu script
switch(arguments.length)
{
case 1: return parseInt(Math.random()*under+1);
case 2: return parseInt(Math.random()*(over-under+1) + under);
default: return 0;
} // end switch
} // end function fRandomBy
} // end function fRandomLetter
function fGo()
{
Container.Set[1].innerHTML = "选项:<br/> ";
Container.Set[2].innerHTML = "2";
Container.Set[3].innerHTML = "内容:<br/>";
} // end function fGo
function fGetAu()
{
return Au;
}
//------------------------------------end private method
} // shawl.qiu code
//---------------------------------end class Styler()---------------------------------//
解决方案 »
- 关于setInterval,出了一点问题
- 怎样在HTML中用javascript在浏览器显示如下的效果?
- checkbox 设置的问题
- object 动态添加属性
- 100分,100分,100分,求JS获取“客户端”的“桌面”位置,高手请进,100分,100分,100分
- 怎么实现滚动条一往下滚动图片margin-top就变为20px,在线等
- 让网页显示"地图正在下载,请稍侯......"的信息
- 动态获取座标问题
- 怎样得到选中的内容(文字)呢?100分!!
- VBScript中如何取消一个事件?
- firefox 下submit 不了,谢谢大家帮忙!
- 帮忙:javascript脚本不想公开~~,有没有办法
</div>
<script type="text/javascript" src="Styler.js"></script>
<script type="text/javascript" src="StyleEngine.js"></script>
<script type="text/javascript">
//<![CDATA[
var ser = new Styler();
//function fSetMain(sId)
ser.Set.Main("StylerId");
//function fSetEngine(EngineClass)
ser.Set.Engine(new StyleEngine());
//function fSetContainer(OrderAr)
ser.Set.Container([0, 1, 2, 3]);
//function fGenreSelect(sId, sDefaultSelect, sLbl)
ser.Set.GenreSelect("StylerIdGenreSelect", "CLike", "<b>流派:</b> ")
ser.Go();
ser = null;
//]]>
</script>
嘿嘿。。我那个JS的转义注释正则引号处理的自我感觉还不错。。http://community.csdn.net/Expert/topic/5626/5626541.xml?temp=.859585
因为不想在做具体的处理了。。效率很慢了已经。。T_T如果快的话还得改布局。。就没在写写去
只需要判断结束前不是转义和双转义注释也类似引号
然后就是正则。。正则稍微麻烦一些。。
需要和注释和除号同时考虑。。从/开始判断。。下一个字符和前面的字符决定它是什么。。下把除号排除。。
排除除号只需要分析前面字符是否是 /[\w\)\]]\s*$/ 如果匹配。则以除号罪判决死刑然后还剩单/多行注释这两个则判断第二个字符即可因为
/*...
//...这样则正则显然都是错误的式子所以这样分析就可以判断出这三种情况。。
弄成UI和Engine 主要是想弄弄
结构复杂度和算法复杂度...
但要用现成工具倒是多的是...而且也不只是缩进那么简单....
你自己弄一下就知道了...
切磋一下
呵呵
中国在线(维基百科||btbtd)..........
难道楼主“另辟蹊径”?
你直接 document.write() 文件, 不过这涉及到优先级问题...所以说起来非常麻烦...
http://files.myopera.com/btbtd/javascript/class/Styler/Beta/Styler.htm如何解决 像 a1 与 a2 这样并列位置的显示?问题已知方法 为 递归再递归, 不过效率问题明显不乐观, 需要 n^n 次....
闪了。
a
{
b
{
b0.1
{
b1
}
c
}
d
}
d1
{
a1
}
{
a2
}
a0.1
}{
a
{
b
{
c
{
d
}
}
}
}
0000111 01011 00001111
node 1: 0+4 = &1;
0 = 4 times
4-1 = 3 times5 + x = &1
5 + x + x1 = &1
5 + x + x1 + x2 = &1node 1:
0 -- 5 + x + x1 + x2...
看起来很简单, 不过弄起来确实不容易...
不过方法已经有了, 类似 huffman jpeg 算法....
//<![CDATA[
var Nodes = "00001110101100001111";
var Pos = [];
var iStart = 0;
var iOver = Nodes.length;
var sLeft = "0";
var sRight = "1";
document.write("Nodes: ", Nodes, "<p/>");
document.write("Nodes.indexOf(sLeft, iStart): ", Nodes.indexOf(sLeft, iStart), "<br/>");
while(iStart<iOver)
{
var LeftPos = Nodes.indexOf(sLeft, iStart);
if(LeftPos<0) break;
var RightPos = Nodes.indexOf(sRight, LeftPos);
var TempStr = Nodes.substring(LeftPos, RightPos+1);
var iLeftOccur = fStrGetTimes(TempStr, sLeft, true);
var iRightOccur = fStrGetTimes(TempStr, sRight, true);
if(iLeftOccur-iRightOccur!==0)
{
var Times = iLeftOccur - iRightOccur;
RightPos = fGetNextPos(Nodes, Times, LeftPos, RightPos+1, sLeft, sRight);
}
document.write("LeftPos: ", LeftPos, "<br/>");
document.write("RightPos: ", RightPos, "<br/>");
document.write("TempStr: ", TempStr, "<br/>");
document.write("iLeftOccur: ", iLeftOccur, "<br/>");
document.write("iRightOccur: ", iRightOccur, "<br/>");
//document.write("MyTempTimes: ", MyTempTimes, "<br/>");
//document.write("iOccur: ", iOccur, "<br/>");
document.write("<p/>");
iStart = RightPos+1;
}
function fGetNextPos(sNodes, Times, LeftPos, RightPos, sLeft, sRight)
{
if(Times<1) return RightPos;
for(var i=0; i<Times; i++)
{
RightPos = sNodes.indexOf(sRight, RightPos);
document.write(RightPos, "<br/>");
}
var TempStr = sNodes.substring(LeftPos, RightPos+1);
var iLeftOccur = fStrGetTimes(TempStr, sLeft, true);
var iRightOccur = fStrGetTimes(TempStr, sRight, true);
Times = iLeftOccur-iRightOccur;
if(Times!==0)
{
RightPos = arguments.callee(sNodes, Times, LeftPos, RightPos+1, sLeft, sRight);
}
return RightPos;
}
function fStrGetTimes(sSrc, sMatch, bCharacter){
var iTime=0;
if(!bCharacter)
var re=new RegExp('\\b('+sMatch+')\\b', 'gi');
else var re=new RegExp('('+sMatch+')', 'gi');
sSrc.replace(re, function($0,$1){
if($1!='')iTime+=1;
});
return iTime;
} // end function fStrGetTimes // shawl.qiu code
//]]>
</script>
就差递归组合...
<script type="text/javascript">
//<![CDATA[
var Nodes = "0000111010110000111101010101010011000111";
var Pos = [];
var iStart = 0;
var iOver = Nodes.length;
var sLeft = "0";
var sRight = "1";
document.write("Nodes: ", Nodes, "<p/>");
document.write("Nodes.indexOf(sLeft, iStart): ", Nodes.indexOf(sLeft, iStart), "<br/>");
while(iStart<iOver)
{
var LeftPos = Nodes.indexOf(sLeft, iStart);
if(LeftPos<0) break;
var RightPos = Nodes.indexOf(sRight, LeftPos);
var TempStr = Nodes.substring(LeftPos, RightPos+1);
var iLeftOccur = fStrGetTimes(TempStr, sLeft, true);
var iRightOccur = fStrGetTimes(TempStr, sRight, true);
if(iLeftOccur-iRightOccur!==0)
{
var Times = iLeftOccur - iRightOccur;
RightPos = fGetNextPos(Nodes, Times, LeftPos, RightPos+1, sLeft, sRight);
}
TempStr = Nodes.substring(LeftPos, RightPos+1);
iLeftOccur = fStrGetTimes(TempStr, sLeft, true);
iRightOccur = fStrGetTimes(TempStr, sRight, true);
document.write("LeftPos: ", LeftPos, "<br/>");
document.write("RightPos: ", RightPos, "<br/>");
document.write("TempStr: ", TempStr, "<br/>");
document.write("iLeftOccur: ", iLeftOccur, "<br/>");
document.write("iRightOccur: ", iRightOccur, "<br/>");
//document.write("MyTempTimes: ", MyTempTimes, "<br/>");
//document.write("iOccur: ", iOccur, "<br/>");
document.write("<p/>");
iStart = RightPos+1;
}
function fGetNextPos(sNodes, Times, LeftPos, RightPos, sLeft, sRight)
{
if(Times<1) return RightPos;
for(var i=0; i<Times; i++)
{
RightPos = sNodes.indexOf(sRight, RightPos);
document.write(RightPos, "<br/>");
}
var TempStr = sNodes.substring(LeftPos, RightPos+1);
var iLeftOccur = fStrGetTimes(TempStr, sLeft, true);
var iRightOccur = fStrGetTimes(TempStr, sRight, true);
Times = iLeftOccur-iRightOccur;
if(Times>0)
{
RightPos = arguments.callee(sNodes, Times, LeftPos, RightPos+1, sLeft, sRight);
}
return RightPos;
}
function fStrGetTimes(sSrc, sMatch, bCharacter){
var iTime=0;
if(!bCharacter)
var re=new RegExp('\\b('+sMatch+')\\b', 'gi');
else var re=new RegExp('('+sMatch+')', 'gi');
sSrc.replace(re, function($0,$1){
if($1!='')iTime+=1;
});
return iTime;
} // end function fStrGetTimes // shawl.qiu code
//]]>
</script>
当笔记用...算法完全实现了...现在就差使用...
<script type="text/javascript">
//<![CDATA[
var Nodes = "xxxxxx{{{{}}}{}{}}{{{{}}}}{}{}{}{}{}{{}}{{{}}}{";
var PATTERNBEGIN= "PATTERNBEGIN";
var PATTERNEND = "PATTERNEND";
var LevelAr = [0];
Nodes = fMakeMarker(Nodes, PATTERNBEGIN, PATTERNEND, LevelAr, "x", "{", "}", true);
document.write("LevelAr: ", LevelAr, "<br/>");
document.write("Nodes: ", Nodes, "<p/>");
function fMakeMarker
(
Nodes
, PATTERNBEGIN
, PATTERNEND
, LevelAr
, sIdPostfix
, sLeft
, sRight
, bDebug
)
{
if(Nodes.indexOf(sLeft)<0||Nodes.indexOf(sRight)<0) return Nodes;
var Debug = bDebug;
var Pos = [];
var iStart = 0;
var iOver = Nodes.length;
var TEMPPATTERNBEGIN = PATTERNBEGIN+LevelAr[0]+sIdPostfix;
var TEMPPATTERNEND = PATTERNEND+LevelAr[0]+sIdPostfix;
if(Debug)
{
document.write("Nodes: ", Nodes, "<p/>");
document.write("Nodes.indexOf(sLeft, iStart): ", Nodes.indexOf(sLeft, iStart), "<br/>");
}
while(iStart<iOver)
{
var LeftPos = Nodes.indexOf(sLeft, iStart);
if(LeftPos<0) break;
var RightPos = Nodes.indexOf(sRight, LeftPos);
var TempStr = Nodes.substring(LeftPos, RightPos+1);
var iLeftOccur = fStrGetTimes(TempStr, sLeft, true);
var iRightOccur = fStrGetTimes(TempStr, sRight, true);
if(iLeftOccur-iRightOccur!==0)
{
var Times = iLeftOccur - iRightOccur;
RightPos = fGetNextPos(Nodes, Times, LeftPos, RightPos+1, sLeft, sRight);
}
if(RightPos<0) break;
var TempNodes = [];
TempNodes.push(Nodes.substring(0, LeftPos));
TempNodes.push(TEMPPATTERNBEGIN);
TempNodes.push(Nodes.substring(LeftPos+1, RightPos));
TempNodes.push(TEMPPATTERNEND);
TempNodes.push(Nodes.slice(RightPos+1));
Nodes = TempNodes.join("");
var Span = TEMPPATTERNBEGIN.length + TEMPPATTERNBEGIN.length-2;
iOver+=Span;
RightPos+=Span-2;
TempStr = Nodes.substring(LeftPos, RightPos+1);
iLeftOccur = fStrGetTimes(TempStr, sLeft, true);
iRightOccur = fStrGetTimes(TempStr, sRight, true);
if(Debug)
{
document.write("TempNodes: ", TempNodes, "<br/>");
document.write("LeftPos: ", LeftPos, "<br/>");
document.write("RightPos: ", RightPos, "<br/>");
document.write("TempStr: ", TempStr, "<br/>");
document.write("iLeftOccur: ", iLeftOccur, "<br/>");
document.write("iRightOccur: ", iRightOccur, "<br/>");
document.write("<p/>");
}
iStart = RightPos+1;
}
LevelAr[0] = LevelAr[0]+1; if(Nodes.indexOf(sLeft)>-1&&Nodes.indexOf(sRight)>-1)
{
Nodes =
arguments.callee
(
Nodes
, PATTERNBEGIN
, PATTERNEND
, LevelAr
, sIdPostfix
, sLeft
, sRight
, bDebug
);
}
return Nodes;
}
function fFatalError(sMsg)
{
if(!sMsg) sMsg = "发重致命错误.";
throw new Error(sMsg);
}
function fGetNextPos(sNodes, Times, LeftPos, RightPos, sLeft, sRight)
{
if(Times<1) return RightPos;
for(var i=0; i<Times; i++)
{
RightPos = sNodes.indexOf(sRight, RightPos);
}
var TempStr = sNodes.substring(LeftPos, RightPos+1);
var iLeftOccur = fStrGetTimes(TempStr, sLeft, true);
var iRightOccur = fStrGetTimes(TempStr, sRight, true);
Times = iLeftOccur-iRightOccur;
if(Times>0)
{
RightPos = arguments.callee(sNodes, Times, LeftPos, RightPos+1, sLeft, sRight);
}
return RightPos;
}
function fStrGetTimes(sSrc, sMatch, bCharacter){
var iTime=0;
if(!bCharacter)
var re=new RegExp('\\b('+sMatch+')\\b', 'gi');
else var re=new RegExp('('+sMatch+')', 'gi');
sSrc.replace(re, function($0,$1){
if($1!='')iTime+=1;
});
return iTime;
} // end function fStrGetTimes // shawl.qiu code
//]]>
</script>
var parse = function (str, obj) {
var wc = { val : [], num : [] }, value, i;
for (i = 0 ; i < str.length ; i ++) {
value = wc.val[i] = str.charAt(i);
if (value == "{") {
wc.num.push(i);
} else if (value == "}") {
obj.innerHTML += wc.val.slice(wc.num.pop()).join("") + "<br \/>";
}
}
};
window.onload = function () {
parse("xxxxxx{{{{}}}{}{}}{{{{}}}}{}{}{}{}{}{{}}{{{}}}{", wc);
};
</script>
<div id="wc"></div>
是你总弄大一大大大堆的code压人谁敢看啊。
http://shawl.qiu.googlepages.com/Styler.htm而且效率也很X比...
后面的事情现在应该跟切菜一样容易了...
function ChangeSel()
{
var chk = document.getElementById("chkSelAll");
var table = document.getElementById("dgFreeUpload");
var all = true;chk.checked = all;
}
执行后
function ChangeSel()
{
var chk = document.getElementById(SQCLIKESTRINGMARKER0);
var table = document.getElementById(SQCLIKESTRINGMARKER1);
var all = true;
chk.checked = all;
}"chkSelAll" 怎么变成 SQCLIKESTRINGMARKER0了
http://shawl.qiu.googlepages.com/Styler.htm
http://files.myopera.com/btbtd/javascript/class/Styler/Beta/Styler_v1-0.htm1.0 完全版这一两天内完成...
1.1 实现 css
1.2 实现 xml
1.3 实现 为 basic
http://files.myopera.com/btbtd/javascript/class/Styler/Styler_v1-0.7z预览:
http://files.myopera.com/btbtd/javascript/class/Styler/Styler_v1-0.htm
源代码高亮,我最喜欢Editplus的,认为比其他编辑器实现的都要更好、更漂亮,只是不支持折叠。