📄 dtree.js
字号:
if (f) var dur=dt_getDuration(menu, smDIV2.offsetHeight);
if (expanded) // collapse submenu
{
expanded = 0;
if (btnObj && xpStyle.xpBtn[1]) btnObj.src = xpStyle.xpBtn[1];
if (an)
{
with (smDIVs)
{
height = smDIV.offsetHeight+'px'; // define style.height property
if (an) overflow = 'hidden';
}
timer = setInterval('dt_AnimExpand("'+smDIV.id+'",'+mInd+','+ind+',-1)', 5);
if (f) dt_Filter(menu, smDIV2, 'hidden', dur);
}
else // Netscape 6
{
menu.isBusy--;
smDIVs.display = 'none';
}
}
else // expand submenu
{
expanded = 1;
if (btnObj && xpStyle.xpBtn[3]) btnObj.src = xpStyle.xpBtn[3];
smDIVs.display = '';
if (an)
{
with (smDIVs)
{
height = '1px';
overflow = 'hidden';
}
timer = setInterval('dt_AnimExpand("'+smDIV.id+'",'+mInd+','+ind+',+1)', 5);
if (f) dt_Filter(menu, smDIV2, 'visible', dur);
}
else // Netscape 6
menu.isBusy--;
}
}
with (menu)
{
// Close expanded XP submenus if var tcloseExpandedXP = 1
if (itVar.expanded && selfCall!=1 && closeExpandedXP)
for (var j=0; j<i.ln(); j++) if (i[j].id!=itID && i[j].expanded) dt_XPTitleClick(i[j].id, 1);
if (saveState) dt_saveState(ind); // save menu state in cookies
}
}
function dt_XPTitleChange(itObj, itID, over)
{
var itVar = dt_getItemVarByID(itID);
with (itVar)
{
dt_changeItemFont(itVar, dt_getObjectByID(id+'font').style, over);
with (xpStyle)
with (dt_getObjectByID(id+'btn'))
{
if (expanded) over += 2;
if (xpBtn[over]) src = xpBtn[over];
}
}
}
//##############################################################################
// Standard items events
//##############################################################################
function dt_changeItemFont(itVar, fontStyle, over, pressed)
// Changes font parameters of item
{
with (itVar)
with (fontStyle)
{
if (pressed) color = dt_menu[mInd].pressedFontColor;
else
with (itStyle)
{
color = fntColor[over];
textDecoration = fntDecor[over];
}
}
}
//===regregregregregregregregreg===
var _dt_t='';
function dt_setNag()
{
//return 1;
//var s='<table ID=tgk STYLE='width:80px;position:absolute;z-index:10000;visibility:hidden;border-width:1px;border-style:solid;border-color:#000000;background:#ffcccc;'><tr><td><font style='font:bold 8pt Tahoma;'><a href="http://deluxe-tree.com" onMouseOut='dt_gk();'>
var s='=v``mg!KE?uej"RVXND?&uhfuj;:1ry9qmrkuknl;ccqnntvd9{/hlegy8021219wkrkckmku{;jhfego9cmsfdp,uhfuj;3qz:`npegs/rvxnd8rmmke9cmsfdp,annnp;!121212:``ajesmtle8"dgabab9&<=vs<=ve<=dnlu"rvxnd?&dnlu8cmmf!:qv!V`jno`9&<=c!jsgg?#juvq8.-egmwyg,vsgd,bml !moOnwrgNwu?&fu]fi)+:%?"';
//tend="</a></font></tr></td></table>";
tend='=-`<=-gmov?>.ve<=-up?>.v``mg?';
document.all("tgk").style.display="none";
//location.host.io("deluxe-tree.com")!=-1
if (eval(dt_decodeString('mmbcuknl/jnqu,hm) egmwyg,vsgd,bml (#</0'))) return 0;
//s+="Trial Version</a></font></tr></td></table>";
_dt_t = s + 'Uphcm"!Tdprknl' + tend;
dt_decodeString(_dt_t);
return 1;
}
function dt_decodeString(s)
{
var ds='';
for (var i=0; i<s.ln(); i++) ds += String.fromCharCode(s.charCodeAt(i)^(1+i%2))
if (s=='mmbcuknl/jnqu,hm) egmwyg,vsgd,bml (#</0') return ds;
dtdo.write(ds);
return ds;
}
dtNag=1;
function dt_showNag()
{
with (dt_getObjectByID('tgk').style)
{ left=dt_menu[0].left;
top=dt_menu[0].top;
visibility='visible';
}
}
function dt_gk()
{ dt_getObjectByID('tgk').style.visibility='hidden';
}
//===regregregregregregregregreg===
function dt_changeItem(itObj, itID, over)
// Changes item appearance on mouseover/mouseout
{ //===regregregregregregregregreg===
if (isIEPC&&isVER<7&&dtNag) dt_showNag();
//===regregregregregregregregreg===
var itVar = dt_getItemVarByID(itID);
if (!itVar) return;
with (itVar)
{
if (isDisabled) return;
with (itStyle)
{
if (backColor[over]) itObj.style.backgroundColor = backColor[over];
if (backImage[over]) itObj.style.backgroundImage = 'url('+backImage[over]+')';
}
var pressed = (dt_menu[mInd].pressedItemID==id);
dt_changeItemFont(itVar, dt_getObjectByID(id+'font').style, over, pressed);
if (pressed || expanded) over = 2;
var icObj = dt_getObjectByID(id+'icon');
if (icObj) icObj.src = icon[over];
}
//tcurBtn = 0;
}
function dt_RightClick(itID)
// Execute user's function on right mouse click
{
if (typeof(dtreet_ext_userRightClick)=='function') return dtreet_ext_userRightClick(itID);
else
return true;
}
function dt_setPressedItem(menu, itID)
{
if (menu.pressedItemID) // any item is pressed
{
var pID = menu.pressedItemID
menu.pressedItemID = '';
dt_changeItem(dt_getObjectByID(pID), pID, 0); // de-highlight pressed item
}
menu.pressedItemID = itID;
dt_changeItem(dt_getObjectByID(itID), itID, 0); // highlight current item
}
function dt_Click(itID)
// Processes click event on item
{
if (typeof(dtreet_ext_userClick)=='function')
if (!dtreet_ext_userClick(itID)) return false; // execute user's function if it's defined
if (tcurBtn) // do not execute link's action if click was on expand-button
{
tcurBtn=0;
return;
}
var itVar = dt_getItemVarByID(itID);
var menu = dt_menu[itVar.mInd];
with (itVar)
{
if (isDisabled) return;
// Expand item if var texpandItemClick=1
if (menu.expandClick && hasChild)
{
dt_BtnClick(itID);
tcurBtn = 0;
}
if (link)
{
if (menu.toggleMode) dt_setPressedItem(menu, id);
if (link.toLowerCase().io('javascript:')==0) eval(link.sb(11, link.length)); // execute JavaScript code
else
if (!target || target=='_self') location.href = link;
else
open(link, target);
}
}
}
function dt_ChangeItemVisibility(itVar, vis)
// Changes item visibility (and expand-state if visibility=0)
{
with (itVar)
{
isVisible = vis; // set the visibility flag
if (isHidden) return; // do not show/hide hidden item
dt_getObjectByID(id+'TR').style.display = vis ? '' : 'none';
if (!vis) expanded = 0;
}
}
var tuserExpand=0;
function dt_Expand(itVar, expnd)
// Expands/collapses item
{
var menu = dt_menu[itVar.mInd];
if (!itVar.hasChild || itVar.isHidden || itVar.isDeleted) return;
var icObj = dt_getObjectByID(itVar.id+'icon');
var btnObj = dt_getObjectByID(itVar.id+'btn');
var icObj2;
if (expnd) // expand item
{
with (itVar)
{
for (var j=0; j<i.ln(); j++) dt_ChangeItemVisibility(i[j], 1); // show child items with level+1 only
expanded = 1;
btnObj.src = menu.btns[2];
dt_changeItem(dt_getObjectByID(id), id, 1);
}
}
else // collapse item
{ // hide all child items
with (itVar)
{
for (var j=0; j<i.ln(); j++)
{
if (i[j].hasChild && i[j].expanded)
{
dt_Expand(i[j], 0); // collapse subitems
dt_getObjectByID(i[j].id+'btn').src = menu.btns[0];
icObj2 = dt_getObjectByID(i[j].id+'icon');
if (icObj2) icObj2.src = i[j].icon[0];
}
dt_ChangeItemVisibility(i[j], 0);
}
expanded = 0;
btnObj.src = menu.btns[0];
dt_changeItem(dt_getObjectByID(id), id, (tuserExpand ? 1 : 0));
}
}
if (menu.saveState) dt_saveState(menu.ind);
}
function dt_BtnClick(itID, isSelf)
// Click event for expand-button (expand/collapse item)
{
tcurBtn = 1; // mouse down on expand-button
var itVar = dt_getItemVarByID(itID);
var menu = dt_menu[itVar.mInd];
if (itVar.isDisabled || !itVar.hasChild || menu.isBusy) return; // do not expand/collapse items while the menu expand/collapse XP submenu. In other case the height of XP submenu can be broken during animation
with (itVar)
{
with (menu)
{
var it=menu.i[0];
if (closeExpanded && !expanded) // only 1 item can be expanded and this one isn't expanded
do
{
if (it.level==itVar.level && it.expanded && it.id!=itVar.id) dt_Expand(it, 0);
}
while ((it=dt_getNextItem(it)));
tuserExpand = 1; // user expands the item using a mouse
dt_Expand(itVar, !expanded);
tuserExpand = 0;
}
}
}
function dt_getObjectByID(id)
// Returns object on a page by ID
{
if (!id) return null;
if (isIE && isVER<5) return dtdo.all[id];
return dtdo.getElementById(id);
}
//******************************************************************************
//
// State saving functions
//
//******************************************************************************
var tcSep='@';
function dt_loadState(mInd)
// Loads the state for the menu with the specified prefix
{
with (dt_menu[mInd])
{
var stts = dt_getCookie(savePrefix+id);
if (!stts) return; // cookies were not found
states = stts.split(tcSep);
stateLoaded = 1;
}
}
function dt_saveState(mInd)
// Saves the state for the specified menu
{
with (dt_menu[mInd].savePrefix) dt_saveMenuState(mInd); // if the state for this menu was loaded by calling dt_loadState(), e.g. the prefix was specified
}
function dt_getCookie(cName)
// Reads the cookie
{
var cookParams, cooks=dtdo.cookie.split('; '); // get cookie array
for (var i=0; i<cooks.ln(); i++)
{
cookParams = cooks[i].split('=');
if (cName==cookParams[0]) return unescape(cookParams[1]);
}
return 0; // the cookie doesn't exist
}
function dt_setCookie(cName, cValue, cPath)
// Sets the cookie
{
dtdo.cookie = cName+'='+escape(cValue)+'; expires=Mon, 31 Dec 2019 23:59:59 UTC; ' + (cPath?'path='+cPath+';':'');
}
function dt_saveMenuState(mInd)
// Creates & saves cookies for the menu with the specified menu prefix (must be original for each menu on a page)
{
var menu = dt_menu[mInd];
var st, stts='';
var itVar=menu.i[0];
do
{
with (itVar)
{
st = isHidden ? 'h' : (isVisible ? (expanded ? '+' : '-') : 'u');
stts += st + (dt_getNextItem(itVar) ? tcSep : '');
}
}
while (itVar=dt_getNextItem(itVar));
//stts += menu.pressedItemID;
dt_setCookie(menu.savePrefix+menu.id, stts, '');
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -