⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpc.htc

📁 Flash电子相册 v1.2 Build 1108完整版本下载
💻 HTC
📖 第 1 页 / 共 2 页
字号:
<!-- ---------------------------------------------------------------------
//
//  Copyright 2000 Microsoft Corporation.  All Rights Reserved.
//
//  File:		mpc.htc
//
//  Description:	This behavior allows web authors to a tabbed dialog
//			style control for grouping information on a page.
//
//
//-------------------------------------------------------------------- -->

<PROPERTY NAME="selectedIndex"/>  
<PROPERTY NAME="CumulativeTabWidth"/> 
<PROPERTY NAME="ContainerHeight"/> 
  
<EVENT    NAME="onchange"   ID="change" />
<EVENT    NAME="onfocus"   ID="focus" />

<METHOD   NAME="FireFocus"/>

<ATTACH   EVENT="ondocumentready" HANDLER="DoInit"        />


<SCRIPT LANGUAGE="jscript">

//+----------------------------------------------------------------------------
//
//  Global Variables
//
//-----------------------------------------------------------------------------
var StyleInfo;
var StyleRules = new Array();
var iIndex = null;

//+----------------------------------------------------------------------------
//
//  Function:       DoInit
//
//  Description:    Calls functions, set variables, and attaches events to
//                  initialize behavior
//
//  Arguments:      none
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------
function DoInit()
{
	//if container....
	if(tagName=="container")
	{
		style.position = "absolute";
		CumulativeTabWidth = -1;
		if(selectedIndex==null) selectedIndex = 1;
		SetDefaults();
		ContainerHeight = style.posHeight;
	}
	
	//*************************************************************************
	//*************************************************************************
	//if page.....
	if(tagName=="page")
	{	
		var iIndex = null;
		for(c=0; c<parentElement.children.length; c++)
		{
			if(element == parentElement.children(c)) iIndex = c + 1;
		}
		
		
		//create and insert the HTML that is the content area for the tab
		MakeContent();
	
		//determine the width of this tab, using a simple algorithm (fairly reliable,
		//since the font family and size are restricted
		var iWidth = 6*parseInt(TABTEXT.length);
		
		//create and insert the HTML that is the tab
		MakeTab(parentElement.CumulativeTabWidth+1, iWidth+6, TABTEXT, TABTITLE, iIndex);
	
		//reset CumulativeTabWidth
		parentElement.CumulativeTabWidth = parentElement.CumulativeTabWidth + iWidth + 18;
		
		//create a stylesheet for the tab
		CreatePageStyleSheet();
		
		//determine which tab in the collection this one is.  If last, do some configuring
		var Tabs = window.document.all("Tab");
		if(parentElement.children.length == 1)
		{
			SelectTab();
			SelectContent();
			SetTabTop();
			ConfirmContainerWidth();
			SetContainerHeight();
		}
		else
		{
			if(Tabs.length == parentElement.children.length)
			{
				SelectTab();
				SelectContent();
				SetTabTop();
				ConfirmContainerWidth();
				SetContainerHeight();
			}	
		}
		
	}
 attachEvent("onpropertychange", DoPropChange); 
}



//+----------------------------------------------------------------------------
//
//  Function:       MakeContent
//
//  Description:    Makes Content Area that holds content
//
//  Arguments:      none
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------
function MakeContent()
{
	
	var sHTML = '<DIV onclick="window.event.cancelBubble = true" CLASS=DormantContent_' + uniqueID + '>' + innerHTML + '</DIV>';
	innerHTML =  "";
	insertAdjacentHTML('BeforeEnd', sHTML);
	
}
//+----------------------------------------------------------------------------
//
//  Function:       MakeTab
//
//  Description:    Makes Tabs
//
//  Arguments:      none
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------

function MakeTab(iLeft, iWidth, sLabel, sTitle, iIndex)
{
	var sTopDisplay = null;
	var sBottomDisplay = null;
	if(parentElement.style.tdTabOrientation.toUpperCase()=="TOP")
	{
		sTopDisplay = "inline";
		sBottomDisplay = "none";
	}
	if(parentElement.style.tdTabOrientation.toUpperCase()=="BOTTOM")
	{
		sTopDisplay = "none";
		sBottomDisplay = "inline";
	}

	var sHTML = "";
	sHTML = sHTML + '<TABLE ID=Tab onclick="parentElement.parentElement.selectedIndex = this.index" CLASS=DormantTab_' + uniqueID + ' index=' + iIndex + ' CELLPADDING=0 CELLSPACING=0 STYLE="left:' + iLeft + '">';
	sHTML = sHTML + '<TR STYLE="display:' + sTopDisplay + '">';
	sHTML = sHTML + '<TD STYLE="width:1px; height:1px" CLASS=Transparent_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD STYLE="width:1px" CLASS=Transparent_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD CLASS=LightShadow_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD STYLE="width:1px" CLASS=Transparent_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD STYLE="width:1px" CLASS=Transparent_' + uniqueID + '></TD>';
	sHTML = sHTML + '</TR>';
	sHTML = sHTML + '<TR STYLE="display:' + sTopDisplay + '">';
	sHTML = sHTML + '<TD CLASS=Transparent_' + uniqueID + ' STYLE="height:1px"></TD>';
	sHTML = sHTML + '<TD CLASS=LightShadow_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD CLASS=Tab_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD CLASS=DarkShadow_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD CLASS=Transparent_' + uniqueID + '></TD>';
	sHTML = sHTML + '</TR>';
	sHTML = sHTML + '<TR>';
	sHTML = sHTML + '<TD CLASS=LightShadow_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD CLASS=Tab_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD CLASS=Tab_' + uniqueID + ' TITLE="' + sTitle + '" STYLE="font:9pt MS Sans Serif; width:' + iWidth + '; height:20px; padding-left:4px; padding-right:4px">' + sLabel + '</TD>';
	sHTML = sHTML + '<TD CLASS=MediumShadow_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD CLASS=DarkShadow_' + uniqueID + '></TD>';
	sHTML = sHTML + '</TR>';
	sHTML = sHTML + '<TR STYLE="display:' + sBottomDisplay + '">';
	sHTML = sHTML + '<TD CLASS=Transparent_' + uniqueID + ' STYLE="height:1px"></TD>';
	sHTML = sHTML + '<TD CLASS=LightShadow_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD CLASS=Tab_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD CLASS=DarkShadow_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD CLASS=Transparent_' + uniqueID + '></TD>';
	sHTML = sHTML + '</TR>';
	sHTML = sHTML + '<TR STYLE="display:' + sBottomDisplay + '">';
	sHTML = sHTML + '<TD STYLE="width:1px; height:1px" CLASS=Transparent_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD STYLE="width:1px" CLASS=Transparent_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD CLASS=DarkShadow_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD STYLE="width:1px" CLASS=Transparent_' + uniqueID + '></TD>';
	sHTML = sHTML + '<TD STYLE="width:1px" CLASS=Transparent_' + uniqueID + '></TD>';
	sHTML = sHTML + '</TR>';
	sHTML = sHTML + '</TABLE>';
	
	insertAdjacentHTML('BeforeEnd', sHTML);
}




//+----------------------------------------------------------------------------
//
//  Function:       CreatePageStyleSheet
//
//  Description:    
//
//  Arguments:      none
//
//  Returns:        nothing
//
//+----------------------------------------------------------------------------

function CreatePageStyleSheet()
{
    //  Create Page StyleSheet page
    element.document.body.MPCPageStyleSheet = element.document.createStyleSheet();
    StyleInfo = element.document.body.MPCPageStyleSheet;
    
    //get values of container background color and foreground color
    var sForeColor = parentElement.style.color;
    var sBackColor = parentElement.style.background;
    
    //determine value of iTop for placement of tabs
    var iTop = null;
    if(parentElement.style.tdTabOrientation.toUpperCase() == "TOP") iTop = -22;
    if(parentElement.style.tdTabOrientation.toUpperCase() == "BOTTOM") iTop = parentElement.style.posHeight - 2;
    

    StyleInfo.addRule(   '.Transparent_' + uniqueID, 'width:1px; height:1px; font-size:0px');
    StyleRules['Transparent'] = StyleInfo.rules[StyleInfo.rules.length-1].style;
    
    StyleInfo.addRule(   '.LightShadow_' + uniqueID, 'background:white; font-size:0px');
    StyleRules['LightShadow'] = StyleInfo.rules[StyleInfo.rules.length-1].style;
    
    StyleInfo.addRule(   '.MediumShadow_' + uniqueID, 'background:gray; font-size:0px');
    StyleRules['MediumShadow'] = StyleInfo.rules[StyleInfo.rules.length-1].style;
    
    StyleInfo.addRule(   '.DarkShadow_' + uniqueID, 'background:black; font-size:0px');
    StyleRules['DarkShadow'] = StyleInfo.rules[StyleInfo.rules.length-1].style;
    
    StyleInfo.addRule(   '.Tab_' + uniqueID, 'background:' + sBackColor + '; color:' + sForeColor);
    StyleRules['Tab'] = StyleInfo.rules[StyleInfo.rules.length-1].style;
    
    StyleInfo.addRule(   '.DormantTab_' + uniqueID, 'position:absolute; z-index:2; cursor:default');
    StyleRules['DormantTab'] = StyleInfo.rules[StyleInfo.rules.length-1].style;
    
    StyleInfo.addRule(   '.ActiveTab_' + uniqueID, 'position:absolute; z-index:4; cursor:default');
    StyleRules['ActiveTab'] = StyleInfo.rules[StyleInfo.rules.length-1].style;
    
    StyleInfo.addRule(   '.DormantContent_' + uniqueID, 'position:absolute; visibility:hidden; top:0; left:0; background:silver');
    StyleRules['DormantContent'] = StyleInfo.rules[StyleInfo.rules.length-1].style;
    
    StyleInfo.addRule(   '.ActiveContent_' + uniqueID, 'position:absolute; height:100%; width:100%; border-left:solid 1 white; border-top:solid 1 white; border-bottom:solid 1 black; border-right:solid 1 black; background:' + sBackColor + '; z-index:3');
    StyleRules['ActiveContent'] = StyleInfo.rules[StyleInfo.rules.length-1].style;
    
    
}



//+----------------------------------------------------------------------------
//
//  Function:       SetDefaults
//
//  Description:    Called during the initialization of the behavior.  Sets
//                  the defaults for custom CSS properties (calls the
//                  CustomDefault() function), regular CSS properties (the
//                  NormalDefault() function), and attribute/properties.
//
//  Arguments:      none
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------

function SetDefaults()
{
	if(tagName=="container")
	{
		
		CustomDefault('td--tab-orientation', 'tdTabOrientation', 'top');
		NormalDefault('width',   'auto');
		NormalDefault('height',   'auto');   
		NormalDefault('background',   'buttonface');
		NormalDefault('color',   'buttontext');
		
	}
}


//+----------------------------------------------------------------------------
//
//  Function:       CustomDefault
//
//  Description:    Sets the defaults for custom CSS properties and establishes
//                  a scriptable name for the property
//
//  Arguments:      sCSSName - the CSS name of the property
//                  sScriptName - the desired Scriptable name of the property
//                  sDefault - the desired default value
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------

function CustomDefault(sCSSName, sScriptName, sDefault)
{
	
    if (currentStyle[sCSSName] == null)
    {
        style[sCSSName] = sDefault;
    }
    else style[sCSSName] = currentStyle[sCSSName];
    
    style[sScriptName] = style[sCSSName];
    
    
}


//+----------------------------------------------------------------------------
//
//  Function:       NormalDefault
//
//  Description:    Sets the defaults for CSS properties by checking the
//                  currentStyle and style of the object against the IE
//                  default.
//
//  Arguments:      sCSSName - the CSS name of the property
//                  sIEDefault - the IE standard default of the property
//                  sDefault - the desired default of the property
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------

function NormalDefault(sCSSName, sDefault)
{
    if (style[sCSSName] == "" || style[sCSSName] == null)   
    {
        style[sCSSName] = sDefault;
    }
}


//+----------------------------------------------------------------------------
//
//  Function:       SelectTab
//
//  Description:    Selects the selected tab
//
//  Arguments:      none
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------

function SelectTab()
{
	var oContainer = null;
	if(tagName=="container") oContainer = element;
	if(tagName=="page") oContainer = parentElement;
	
	//handle the possibility that selectedIndex is a string.  Change it to an integer.
	if(isNaN(parseInt(oContainer.selectedIndex)))
	{
		
		for(i=0; i<oContainer.children.length; i++)
		{
			if(oContainer.children(i).TABTEXT==oContainer.selectedIndex) oContainer.selectedIndex = i + 1;
		}
		if(isNaN(parseInt(oContainer.selectedIndex))) oContainer.selectedIndex = 1;
	}
	
	if(oContainer.selectedIndex > oContainer.children.length)
	{
		var TempClass = oContainer.children(0).children(1).className;
		TempClass = "ActiveTab" + TempClass.substring(TempClass.indexOf("_"), TempClass.length);
		oContainer.children(0).children(1).className = TempClass;
		return;
	}
	
	var TempClass = oContainer.children(oContainer.selectedIndex-1).children(1).className;
	TempClass = "ActiveTab" + TempClass.substring(TempClass.indexOf("_"), TempClass.length);
	oContainer.children(oContainer.selectedIndex-1).children(1).className = TempClass;
}

//+----------------------------------------------------------------------------
//
//  Function:       DeselectTab
//
//  Description:    Deselects the selected tab
//
//  Arguments:      none
//
//  Returns:        nothing
//
//-----------------------------------------------------------------------------

function DeselectTab()
{
	var oContainer = null;
	if(tagName=="container") oContainer = element;
	if(tagName=="page") oContainer = parentElement;
	
	for(i=0; i<oContainer.children.length; i++)
	{
			var TempClass = oContainer.children(i).children(1).className;
			TempClass = "DormantTab" + TempClass.substring(TempClass.indexOf("_"), TempClass.length);
			oContainer.children(i).children(1).className = TempClass;
	}
}

//+----------------------------------------------------------------------------
//
//  Function:       SelectContent
//
//  Description:    Selects the selected content page
//

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -