<!-- ---------------------------------------------------------------------
//
// Copyright 2000 Microsoft Corporation. All Rights Reserved.
//
// File: calendar.htc
//
// Description: The calendar behavior provides an easy, declarative way
// to add a standard calendar control to web pages and html
// based applications. It provides a variety of properties
// to customize the look and feel along with a strong set
// events and functionality.
//
//-------------------------------------------------------------------- -->
<script language="javascript">
//------------------------------------------------------------------------
// Attach to element events
//------------------------------------------------------------------------
element.attachEvent("onselectstart", fnOnSelectStart)
element.attachEvent("onclick", fnOnClick)
element.attachEvent("onpropertychange", fnOnPropertyChange)
element.attachEvent("onreadystatechange", fnOnReadyStateChange)
//------------------------------------------------------------------------
// Create the arrays of days & months for different languages
//------------------------------------------------------------------------
var gaMonthNames = new Array(
new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'),
new Array('January', 'February', 'March', 'April', 'May', 'June', 'July',
'August', 'September', 'October', 'November', 'December')
);
var gaDayNames = new Array(
new Array('S', 'M', 'T', 'W', 'T', 'F', 'S'),
new Array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'),
new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday')
);
var gaMonthDays = new Array(
/* Jan */ 31, /* Feb */ 29, /* Mar */ 31, /* Apr */ 30,
/* May */ 31, /* Jun */ 30, /* Jul */ 31, /* Aug */ 31,
/* Sep */ 30, /* Oct */ 31, /* Nov */ 30, /* Dec */ 31 )
var StyleInfo = null // Style sheet with rules for this calendar
var goStyle = new Object() // A hash of style sheet rules that apply to this calendar
var gaDayCell = new Array() // an array of the table cells for days
var goDayTitleRow = null // The table row containing days of the week
var goYearSelect = null // The year select control
var goMonthSelect = null // The month select control
var goCurrentDayCell = null // The cell for the currently selected day
var giStartDayIndex = 0 // The index in gaDayCell for the first day of the month
var gbLoading = true // Flag for if the behavior is loading
var giDay // day of the month (1 to 31)
var giMonth // month of the year (1 to 12)
var giYear // year (1900 to 2099)
var giMonthLength = 1 // month length (0,1)
var giDayLength = 1 // day length (0 to 2)
var giFirstDay = 0 // first day of the week (0 to 6)
var gsGridCellEffect = 'raised' // Grid cell effect
var gsGridLinesColor = 'black' // Grid line color
var gbShowDateSelectors = true // Show date selectors (0,1)
var gbShowDays = true // Show the days of the week titles (0,1)
var gbShowTitle = true // Show the title (0,1)
var gbShowHorizontalGrid = true // Show the horizontal grid (0,1)
var gbShowVerticalGrid = true // Show the vertical grid (0,1)
var gbValueIsNull = false // There is no value selected (0,1)
var gbReadOnly = false // The user can not interact with the control
var giMinYear = 1900 // Minimum year (1 is the lowest possible value)
var giMaxYear = 2099 // Maximum year
// Load the property values defined on the element to replace defaults
fnGetPropertyDefaults()
// Create the style sheets needed for the calendar display
fnCreateStyleSheets()
// Insert the HTML elements needed for the calendar display
fnCreateCalendarHTML()
// Update the title with the month and year
fnUpdateTitle()
// Fill in the days of the week
fnUpdateDayTitles()
// Build the month select control
fnBuildMonthSelect()
// Build the year select control
fnBuildYearSelect()
// Fill in the cells with the days of the month and set style values
fnFillInCells()
// **********************************************************************
// PROPERTY GET/SET FUNCTIONS
// **********************************************************************
//------------------------------------------------------------------------
//
// Function: fnGetDay / fnPutDay
//
// Synopsis: The day property is used to set the day of the month. The
// valid range is from 1 to the maximum day of the selected
// month & year. If a number is given outside that range, it
// is set to the closest valid value. Invalid input will cause
// an exception.
//
// Arguments: The put method requires an integer value for the day
//
// Returns: The get method will return the selected day of the month
// If the valueIsNull property is set, null is returned
//
// Notes: none
//
//------------------------------------------------------------------------
function fnGetDay()
{
return (gbValueIsNull) ? null : giDay
}
function fnPutDay(iDay)
{
if (gbLoading) return // return if the behavior is loading
iDay = parseInt(iDay)
if (isNaN(iDay)) throw 450
fnSetDate(iDay, giMonth, giYear)
}
//------------------------------------------------------------------------
//
// Function: fnGetMonth / fnPutMonth
//
// Synopsis: The month property is used to set the month of the year.
// The valid range is from 1 to 12. If a value is given
// outside that range, it is set to the closest valid value.
// Invalid input will cause an exception.
//
// Arguments: The put method requires an integer value for the month
//
// Returns: The get method will return the selected month value
// If the valueIsNull property is set, null is returned
//
// Notes: Setting the year can cause the selected "day" value to be
// reduced to the highest day in the selected month if needed.
//
//------------------------------------------------------------------------
function fnGetMonth()
{
return (gbValueIsNull) ? null : giMonth
}
function fnPutMonth(iMonth)
{
if (gbLoading) return // return if the behavior is loading
iMonth = parseInt(iMonth)
if (isNaN(iMonth)) throw 450
fnSetDate(giDay, iMonth, giYear)
}
//------------------------------------------------------------------------
//
// Function: fnGetYear / fnPutYear
//
// Synopsis: The year property is used to set the current year.
// The valid range is from minYear to maxYear. If a value is given
// outside that range, it is set to the closest valid value.
// Invalid input will cause an exception.
//
// Arguments: The put method requires an integer value for the year
//
// Returns: The get method will return the selected year value
// If the valueIsNull property is set, null is returned.
//
// Notes: Setting the year can cause the selected "day" value to be
// reduced to the highest day in the selected month if needed.
//
//------------------------------------------------------------------------
function fnGetYear()
{
return (gbValueIsNull) ? null : giYear
}
function fnPutYear(iYear)
{
if (gbLoading) return // return if the behavior is loading
iYear = parseInt(iYear)
if (isNaN(iYear)) throw 450
fnSetDate(giDay, giMonth, iYear)
}
//-------------------
javascript经典实例2
4星 · 超过85%的资源 需积分: 0 87 浏览量
更新于2007-09-08
收藏 2.35MB RAR 举报
JavaScript,作为全球最广泛使用的编程语言之一,是构建动态网页和交互式应用程序的关键技术。"JavaScript经典实例2"很可能是包含一系列深入浅出的代码示例,旨在帮助开发者更好地理解和运用JavaScript。在这个压缩包中,可能包含了一系列JavaScript的实用技巧、函数、对象以及常见问题的解决方案。
JavaScript的核心在于其动态类型、原型继承和弱引用特性,这些都在实例中得以体现。在实例中,我们可能会看到如何创建和操作变量,如何利用数据类型如字符串、数字、布尔值,以及如何处理数组和对象。
1. **变量和数据类型**:JavaScript支持var、let和const声明变量,每个变量可以赋值不同类型的值。实例可能展示了如何灵活地转换和操作这些数据类型,例如字符串连接、数字计算和布尔逻辑判断。
2. **控制流**:在实例中,可能会遇到条件语句(if...else)和循环结构(for、while),这些都是编写逻辑的重要部分。此外,switch语句和三元运算符也是控制流程的常见工具。
3. **函数**:JavaScript中的函数不仅是可重用的代码块,还可以作为值传递和返回。函数表达式、箭头函数以及函数参数的默认值、剩余参数和解构赋值等特性都可能在实例中有所展示。
4. **对象与原型**:JavaScript的对象基于原型,这允许对象之间共享属性和方法。实例可能会解释如何创建对象,以及如何利用原型链进行继承。
5. **数组方法**:JavaScript的数组拥有一系列强大的方法,如map、filter、reduce、forEach等,用于处理和操作数据。这些方法的运用是提升代码效率和可读性的关键。
6. **事件处理**:在Web开发中,JavaScript常用于响应用户的交互。实例可能涵盖如何添加事件监听器,处理点击、鼠标移动、键盘输入等事件。
7. **DOM操作**:JavaScript与Document Object Model(DOM)紧密关联,允许程序动态修改网页内容。实例可能包括元素的选择、添加、删除和属性修改。
8. **异步编程**:JavaScript的异步编程模型,如回调函数、Promise和async/await,是处理I/O密集型任务的关键。这些在处理AJAX请求、定时器或者文件读写时尤为重要。
9. **错误处理**:在实际开发中,错误处理是必不可少的。实例可能包括try...catch语句的使用,以及如何抛出和捕获错误。
10. **模块化**:随着项目规模的扩大,模块化成为必需。CommonJS、ES6模块或AMD(RequireJS)可能是实例中讨论的一部分,用于组织和导入代码。
通过这些实例,开发者不仅可以加深对JavaScript语法的理解,还能学习到最佳实践和避免常见陷阱的方法。无论你是初学者还是经验丰富的开发者,深入研究并实践这些"JavaScript经典实例2"中的例子,都将对提升技能大有裨益。
sxpyrgz
- 粉丝: 48
- 资源: 59
最新资源
- 永磁同步电机(pmsm)模型预测控制(MPC)matla b simulink仿真模型,有PI矢量控制,直接预测控制(有限集模型预测控制)(这个其中包括做了单矢量和双矢量或者可以成为三矢量的有限集预测
- Google Chrome浏览器ChromeDriver驱动下载(Chrome版本:132.0.6834.84)win64
- Google Chrome浏览器ChromeDriver驱动下载(Chrome版本:132.0.6834.84)win32
- 从0到1搭建推荐系统 - 数据驱动的算法与架构设计(带数据集)
- 汇川H3U标准程序,程序有本体脉冲控制的三轴定位,有总线控制的汇川伺服定位,轴点动,回零,相对定位绝对定位,程序结构清晰,分模块控制,是工控者学习的好案例
- 从0到1搭建推荐系统 - 数据驱动的算法与架构设计(带数据集)
- S7-200Smart 恒压供水程序样例+485通讯样例
- 基于simulink三自由度汽车操纵模型(侧向,侧倾,横摆)带数据参数,有详细公式文档 具有特殊性,发出不 哦(高于或等于MATLAB 2016a版本的都可打开模型)
- C++编写,qt框架,windows串口调试助手,多线程运行,性能好,效率高,不丢数据,保证代码质量
- 从0到1搭建推荐系统 - 数据驱动的算法与架构设计(带数据集)
- . NET C# WPF图书管理系统源码 .net C# WPF图书管理系统源码 自己开发,纯源码 主要技术:C#、基于wpf开发、sql server数据库的增删改查 源码特点:代码完整规范,采
- 西门子Smart200和台达ⅤFD一M系列变频器通讯程序 Smart和三菱E700或D7O0变频器通讯程序,程序带注释,包括接线图纸,变频器参数设置,全都有,拿到即可以用,节约开发时间
- ofdm 水声通信 qpsk fpga
- COMSOL手性超材料文献模拟模型 计算左右旋圆偏振下的吸收、反射、透射率(材料参数未与文献一致 趋势吻合)
- 昆仑通态MCGS与3台力士乐VFC-x610变频器通讯程序 实现昆仑通态触摸屏与3台力士乐VFC-x610变频器通讯,程序稳定可靠 器件:昆仑通态TPC7062KD触摸屏,3台力士乐VFC-x610变
- Unity3d 基于UniStorm插件和xx天气API实现实时天气系统源码工程