📄 rounded.js
字号:
}
if(cc=="tr"){
bar.style.top = (options.radii[cc]-barHeight-barTop)+"px";
bar.style.backgroundPosition="-"+Math.abs((format.width-options.radii[cc]+format.borderWidth)+barLeft)
+"px -"+Math.abs(options.radii[cc]-barHeight-barTop-format.borderWidth)+"px";
} else if (cc=="tl"){
bar.style.top = (options.radii[cc]-barHeight-barTop)+"px";
bar.style.backgroundPosition="-"+Math.abs((options.radii[cc]-barLeft-1)-format.borderWidth)
+"px -"+Math.abs(options.radii[cc]-barHeight-barTop-format.borderWidth)+"px";
} else {
bar.style.backgroundPosition="-"+Math.abs((options.radii[cc]+barLeft)+format.borderWidth)
+"px -"+Math.abs((format.height+options.radii[cc]+barTop)-format.borderWidth)+"px";
}
}
}
}
if(corner){
// position the container.
var psn=[];
if(cc.charAt(0)=="t"){ psn.push("top"); }
else { psn.push("bottom"); }
if(cc.charAt(1)=="l"){ psn.push("left"); }
else { psn.push("right"); }
if(corner.style.position=="absolute"){
for(var z=0; z<psn.length; z++){ corner.style[psn[z]]="0px"; }
}
if(psn[0]=="top"){
if(top){ top.appendChild(corner); }
} else {
if(bottom){ bottom.appendChild(corner); }
}
}
}
// draw fillers.
var diff={
t: Math.abs(options.radii.tl - options.radii.tr),
b: Math.abs(options.radii.bl - options.radii.br)
};
for(var z in diff){
var smaller=(options.radii[z+"l"]<options.radii[z+"r"] ? z+"l":z+"r");
var filler=document.createElement("div");
filler.style.height=diff[z]+"px";
filler.style.width=options.radii[smaller]+"px";
filler.style.position="absolute";
filler.style.fontSize="1px";
filler.style.overflow="hidden";
filler.style.backgroundColor=format.color;
switch(smaller){
case "tl":{
filler.style.bottom="0px";
filler.style.left="0px";
filler.style.borderLeft=format.borderString;
top.appendChild(filler);
break;
}
case "tr":{
filler.style.bottom="0px";
filler.style.right="0px";
filler.style.borderRight=format.borderString;
top.appendChild(filler);
break;
}
case "bl":{
filler.style.top="0px";
filler.style.left="0px";
filler.style.borderLeft=format.borderString;
bottom.appendChild(filler);
break;
}
case "br":{
filler.style.top="0px";
filler.style.right="0px";
filler.style.borderRight=format.borderString;
bottom.appendChild(filler);
break;
}
}
var fillBar=document.createElement("div");
fillBar.style.position="relative";
fillBar.style.fontSize="1px";
fillBar.style.overflow="hidden";
fillBar.style.backgroundColor=format.color;
fillBar.style.backgroundImage=format.bgImage;
if(z=="t"){
if(top){
if(options.radii.tl && options.radii.tr){
fillBar.style.height=(topHeight-format.borderWidth) + "px";
fillBar.style.marginLeft=(options.radii.tl-format.borderWidth)+"px";
fillBar.style.marginRight=(options.radii.tr-format.borderWidth)+"px";
fillBar.style.borderTop=format.borderString;
if(format.bgImage!=""){
fillBar.style.backgroundPosition="-"+(topHeight+format.borderWidth)+"px 0px";
}
}
top.appendChild(fillBar);
}
} else {
if(bottom){
if(options.radii.bl && options.radii.br){
fillBar.style.height=(bottomHeight-format.borderWidth) + "px";
fillBar.style.marginLeft=(options.radii.bl-format.borderWidth)+"px";
fillBar.style.marginRight=(options.radii.br-format.borderWidth)+"px";
fillBar.style.borderBottom=format.borderString;
if(format.bgImage!=""){
fillBar.style.backgroundPosition="-"+(bottomHeight+format.borderWidth)+"px -"
+ (format.height + (topHeight+format.borderWidth))+"px";
}
}
bottom.appendChild(fillBar);
}
}
}
// finally, set up the padding.
if(options.autoPad && format.padding>0){
var content=document.createElement("div");
content.style.position="relative";
content.innerHTML=format.content;
content.className="autoPadDiv";
if(topHeight < format.padding){
content.style.paddingTop = Math.abs(topHeight-format.padding)+"px";
}
if(bottomHeight < format.padding){
content.style.paddingBottom = Math.abs(bottomHeight-format.padding)+"px";
}
content.style.paddingLeft=format.padding+"px";
content.style.paddingRight=format.padding+"px";
node.appendChild(content);
}
};
var count=0;
// helper methods.
dojo.lfx.rounded._fns={
blend:function(clr1, clr2, frac){
var c1={
r:parseInt(clr1.substr(1,2),16),
g:parseInt(clr1.substr(3,2),16),
b:parseInt(clr1.substr(5,2),16)
};
var c2={
r:parseInt(clr2.substr(1,2),16),
g:parseInt(clr2.substr(3,2),16),
b:parseInt(clr2.substr(5,2),16)
};
if(frac>1||frac<0){ frac=1; }
var ret=[
Math.min(Math.max(Math.round((c1.r*frac)+(c2.r*(1-frac))),0),255),
Math.min(Math.max(Math.round((c1.g*frac)+(c2.g*(1-frac))),0),255),
Math.min(Math.max(Math.round((c1.b*frac)+(c2.b*(1-frac))),0),255)
];
for(var i=0; i<ret.length; i++){
var n=ret[i].toString(16);
if(n.length<2){ n="0"+n; }
ret[i]=n;
}
return "#"+ret.join("");
},
fraction:function(x, y, r){
var frac=0;
var xval=[];
var yval=[];
var point=0;
var whatsides="";
var intersect=Math.sqrt((Math.pow(r,2)-Math.pow(x,2)));
if(intersect >=y && intersect < (y+1)){
whatsides="Left";
xval[point]=0;
yval[point++]=intersect-y;
}
intersect=Math.sqrt((Math.pow(r,2)-Math.pow(y+1,2)));
if(intersect >=x && intersect < (x+1)){
whatsides += "Top";
xval[point]=intersect-x;
yval[point++]=1;
}
intersect=Math.sqrt((Math.pow(r,2)-Math.pow(x+1,2)));
if(intersect >= y && intersect < (y+1)){
whatsides += "Right";
xval[point]=1;
yval[point++] = intersect-y;
}
intersect=Math.sqrt((Math.pow(r,2)-Math.pow(y,2)));
if(intersect >=x && intersect < (x+1)){
whatsides += "Bottom";
xval[point]=intersect-x;
yval[point]=1;
}
switch(whatsides){
case "LeftRight":
return Math.min(yval[0],yval[1]) + ((Math.max(yval[0],yval[1])-Math.min(yval[0],yval[1]))/2);
case "TopRight":
return 1-(((1-xval[0])*(1-yval[1]))/2);
case "TopBottom":
return Math.min(xval[0],xval[1]) + ((Math.max(xval[0],xval[1])-Math.min(xval[0],xval[1]))/2);
case "LeftBottom":
return (yval[0]*xval[1])/2;
default: return 1;
}
},
draw:function(x, y, color, opac, height, corner, image, radius, top, format){
var px=document.createElement("div");
px.style.height=height+"px"
px.style.width="1px";
px.style.position="absolute";
px.style.fontSize="1px";
px.style.overflow="hidden";
if(image==-1 && format.bgImage!=""){
px.style.backgroundImage=format.bgImage;
px.style.backgroundPosition="-"+(format.width-(radius-x)+format.borderWidth)
+"px -"+((format.height+top+y)-format.borderWidth)+"px";
} else {
px.style.backgroundColor=color;
}
if(opac!=100){ dojo.html.setOpacity(px, (opac/100)); }
px.style.top=y+"px";
px.style.left=x+"px";
corner.appendChild(px);
},
getRGB:function(clr){
var ret="#ffffff";
if(clr!="" && clr!="transparent"){
if(clr.substr(0,3)=="rgb"){
var t=clr.substring(4, clr.indexOf(")"));
t=t.split(",");
for(var i=0; i<t.length; i++){
var n=parseInt(t[i]).toString(16);
if(n.length<2){ n = "0"+n; }
t[i]=n;
}
ret = "#"+t.join("");
}
else if(clr.length==4){
ret = "#"+clr.substring(1,2)+clr.substring(1,2)
+ clr.substring(2,3)+clr.substring(2,3)
+ clr.substring(3,4)+clr.substring(3,4);
}
else {
ret = clr;
}
}
return ret;
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -