<!-- ---------------------------------------------------------------------
//
// 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特效 300多个 体积超小
需积分: 0 119 浏览量
更新于2008-09-30
收藏 1.73MB RAR 举报
JavaScript是一种广泛应用于网页和网络应用的编程语言,尤其在创建动态和交互式用户界面方面具有强大的功能。在本文中,我们将深入探讨JavaScript特效及其在300多个不同类型的特效中的应用,这些特效体积小巧,但功能强大,可以极大提升您的网站用户体验。
1. **JavaScript特效基础**:
JavaScript特效主要通过改变HTML元素的样式、位置或内容来实现。这通常涉及到DOM(文档对象模型)操作,允许我们动态地修改页面元素。CSS(层叠样式表)与JavaScript结合使用,可以创建复杂的视觉效果。
2. **常见的JavaScript特效**:
- **滑动/滚动**:如页面滚动、图片滑动展示等,使内容以平滑的方式移动,增加浏览的吸引力。
- **淡入淡出**:用于图像切换或背景过渡,提供优雅的视觉转换。
- **弹出框/模态对话框**:用于显示警告、确认信息或者附加内容,不打断用户的主线程。
- **下拉菜单**:常见于导航栏,提供更丰富的子菜单选项。
- **轮播图**:展示多个图片或内容,自动循环播放。
- **拖放功能**:用户可直接通过鼠标拖动元素,增强交互性。
- **计时器/倒计时**:用于活动预告或定时任务提醒。
- **动画效果**:包括旋转、缩放、平移等,为网页增添活力。
3. **轻量级JavaScript库**:
这些特效的体积小,意味着它们可能依赖于轻量级的JavaScript库,如jQuery、zepto.js等。这些库简化了DOM操作,提供了一系列预定义的动画和事件处理,使得开发特效更加便捷。
4. **响应式设计**:
在现代网页设计中,特效必须考虑不同设备和屏幕尺寸的兼容性。通过响应式设计,JavaScript特效可以自适应手机、平板和桌面电脑,确保在任何环境下都能正常工作。
5. **性能优化**:
虽然JavaScript特效能提升用户体验,但过度使用可能会导致页面加载慢。因此,合理使用事件委托、延迟加载和防抖/debounce技术可以优化性能,保证页面流畅运行。
6. **学习资源与实践**:
学习和掌握这些特效可以通过在线教程、书籍和代码示例进行。实践是提高技能的关键,可以尝试复现压缩包中的每个特效,理解其工作原理并进行个性化修改。
7. **安全性与最佳实践**:
在使用JavaScript特效时,注意遵循安全原则,避免引入XSS(跨站脚本)或CSRF(跨站请求伪造)等安全风险。同时,遵循最佳实践,如避免阻塞DOM解析,合理使用异步加载。
8. **社区支持**:
开源社区如GitHub上有很多优秀的JavaScript特效项目,开发者们可以分享、讨论和改进代码。参与这样的社区可以帮助你保持对最新技术和趋势的了解。
JavaScript特效在网页设计中扮演着重要角色,它们让网站更具吸引力和互动性。通过学习和应用这些特效,你可以为用户提供更为丰富的浏览体验,同时提升自己的编程技能。300多种特效足以满足各种需求,无论你是新手还是经验丰富的开发者,都能从中受益。
freeworrier
- 粉丝: 3
- 资源: 16
最新资源
- 毕设和企业适用springboot社交平台类及商业数据管理系统源码+论文+视频.zip
- 毕设和企业适用springboot社交平台类及市场营销自动化平台源码+论文+视频.zip
- 毕设和企业适用springboot社交平台类及视频内容管理平台源码+论文+视频.zip
- 毕设和企业适用springboot社区物业类及业务流程自动化平台源码+论文+视频.zip
- 毕设和企业适用springboot社区物业类及数字营销平台源码+论文+视频.zip
- 毕设和企业适用springboot社区物业类及数据智能化平台源码+论文+视频.zip
- 毕设和企业适用springboot社交平台类及数据智能化平台源码+论文+视频.zip
- 毕设和企业适用springboot社交平台类及数字化商场平台源码+论文+视频.zip
- 毕设和企业适用springboot社交平台类及无人驾驶系统源码+论文+视频.zip
- 毕设和企业适用springboot社区物业类及在线教育管理系统源码+论文+视频.zip
- 毕设和企业适用springboot社区物业类及智慧园区管理平台源码+论文+视频.zip
- 毕设和企业适用springboot社交平台类及疫情追踪系统源码+论文+视频.zip
- 毕设和企业适用springboot社交平台类及用户体验优化平台源码+论文+视频.zip
- 毕设和企业适用springboot社交平台类及远程医疗平台源码+论文+视频.zip
- 毕设和企业适用springboot社区物业类及智能仓储平台源码+论文+视频.zip
- 毕设和企业适用springboot社区医疗服务平台类及城市智能管理系统源码+论文+视频.zip