防抖和节流是前端开发中常用的两种性能优化技术,它们都可以帮助我们避免过多的函数调用和网络请求,从而提高网站的性能和用户体验。

防抖(debounce)

防抖是指在短时间内连续触发同一事件时,只会执行一次函数。简单来说,就是延迟执行函数。在这个短时间内,如果又触发了该事件,则重新计算函数执行的时间。

以下是一个实现防抖的例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function debounce(func, delay) {
let timer;
return function (...args) {
clearTimeout(timer);
timer = setTimeout(() => {
func.apply(this, args);
}, delay);
};
}

// 在输入框连续输入时,只有最后一次输入后才会触发函数。
const input = document.querySelector("input");
input.addEventListener(
"input",
debounce(function () {
console.log("searching...");
}, 500)
);
阅读全文 »


datepicker 设置未来日期不可选,只能选择一年内日期。一开始通过 endDate 属性设置未来日期不可选,出现了一个奇怪的 bug,然后用如下方法实现该功能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//初始化
var ops = {
multidate: true,//同时可以选中多个日期
todayHighlight: true, //设置当天日期高亮
language: 'zh-CN', //语言
autoclose: true, //选择后自动关闭
clearBtn: true,//清除按钮
format: "yyyy-mm-dd",//日期格式
};
$("#itxst").datepicker(ops);
//设置只能选择一年内日期
function setStartDate() {
var dt = new Date(new Date().setDate(new Date().getDate() - 365));
$('#itxst').datepicker('setStartDate', dt);
}
//设置不能选择当天日期起之后的日期
function setEndDate() {
var dt = new Date(new Date().setDate(new Date().getDate()));
$('#itxst').datepicker('setEndDate', dt);
}

setStartDate();
setEndDate();

参考文档


亲爱的家长朋友:

你们好!

每天,和孩子一起亲子共读的时间,必将成为你们彼此生命里共同度过的最有品质并且对未来最具深远影响的时光。这样的说法,是有理论依据的。现在,我和大家分享一些我的观点 。

在一天紧张繁忙的工作之余,和孩子一起读书,是放慢生活节奏、享受温暖和亲密的亲子时光的绝佳机会。心理学家把这叫作“建立亲子纽带的经历”,认为这样能培养孩子稳定的情绪,使其感受到全身心的爱护以及安全感等重要情感。每天,你可以花半个小时左右的时间,在家里和孩子一起阅读。

为孩子阅读,也是对孩子的一种滋养。脑科学家已经证实,那些经常和父母以及关爱他们的长辈一起读书的幼童,控制语言能力发展的那部分大脑发育得更迅速,也更充分。优秀图画书里的丰富词汇,将是孩子健康成长的最基本精神食粮;而书里充满表现力的图画,也起着同样的作用。和孩子分享这些图画,对其大脑的生长发育具有益处。从事这项研究的科学家同时指出,为孩子读书,开始得越早越好。

阅读全文 »
0%