IFE2018-封装函数,Date对象

函数:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
其实就是为了减少代码的冗余,增加代码的可读性与易维护性,将实现同一功能的代码封装起来,在需要实现这一功能时调用即可。举个例子的话,就好比P图时自己调整色相与明暗度等与直接使用滤镜效果。
在做年月日三级联动时由于select下的option选项过多,直接写入显得繁琐,且每月的天数是不固定的,所以可用javascript来完成。而添加option选项的操作都是相同的,只是添加的数量与地方不同,所以可将父元素与添加的起始值做为参数来封装一个添加option元素的方法。
在封装函数时应尽可能的使一个函数只实现一个功能,比如,每月中天数的判断,是否为闰年也为影响天数,而是否为闰年又可单独写一个函数,在天数的判断中只需对月份进行判断,需要判断闰年时只调用判断闰年的方法即可。
封装函数的好处之一是使代码更简洁,所以在封函数应尽可能地对代码进行优化,例如在封装判断闰年的函数时:

function isLeapYear(year) {
    if( year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0)){
        return true;
    }else {
        return false;
    }
}

可简写为:

function isLeapYear(year) {
    return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);
}

每更改一项select,下方的文字内容就需要进行更新,而对每一个select都分别绑定事件,则显得繁琐,可通过代理来实现这一操作。
代理其实是通过事件冒泡机制,对上层元素绑定事件,通过target来获取真实触发的元素。

折叠面板是一个常见的 UI 组件,可以在 Web 页面上实现内容的展开与收缩。以下是一个 HTML 右边折叠面板的实现示例: HTML 代码: ```html <div class="panel-container"> <div class="panel-header"> <h3>折叠面板标题</h3> <span class="panel-arrow"></span> </div> <div class="panel-content"> <p>折叠面板内容</p> </div> </div> ``` CSS 代码: ```css .panel-container { position: relative; width: 400px; height: 100%; } .panel-header { position: relative; z-index: 1; height: 40px; background-color: #f0f0f0; border-bottom: 1px solid #d9d9d9; cursor: pointer; } .panel-header h3 { margin: 0; padding: 0 20px; line-height: 40px; font-size: 16px; font-weight: bold; color: #333; } .panel-arrow { position: absolute; top: 50%; right: 20px; width: 0; height: 0; margin-top: -5px; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid #999; transition: transform 0.3s ease; } .panel-content { position: absolute; top: 40px; right: 0; z-index: 0; width: 0; height: 0; overflow: hidden; background-color: #fff; transition: width 0.3s ease; } .panel-container.active .panel-header .panel-arrow { transform: rotate(180deg); } .panel-container.active .panel-content { width: 300px; height: 300px; } ``` 解释: 1. `.panel-container` 设置容器的宽度和高度,并设置为相对定位,以便内部元素进行定位。 2. `.panel-header` 设置折叠面板的标题栏样式,包括高度、背景色、边框和光标样式。 3. `.panel-header h3` 设置标题栏标题的样式,包括字体大小、颜色和粗细等。 4. `.panel-arrow` 设置标题栏右侧的箭头样式,包括定位、大小和颜色等。使用 `transition` 属性实现箭头旋转效果。 5. `.panel-content` 设置折叠面板的内容区样式,包括定位、大小、背景色和过渡效果等。使用 `overflow: hidden` 属性隐藏内容超出部分。 6. `.panel-container.active .panel-header .panel-arrow` 和 `.panel-container.active .panel-content` 通过 `.active` 类实现面板的展开和收缩效果。 以上是一个简单的 HTML 右边折叠面板的实现示例。可以根据实际需求调整样式和布局。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寅月星回

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值