发表于: 2021-04-14 19:24:45
1 2231
今天完成的事情:
添加了加减号控制滑块,实现了长按加减号输入框数值也会发生变化
var num_jia = document.getElementById("btnPlus"); //加号
var num_jian = document.getElementById("btnLess"); //减号
var input_num = document.getElementById("nm"); //数字显示
//加号按钮事件--鼠标按下
num_jia.onmousedown = function () {
var i=0; //变量i
mouseTime = setInterval(function (){ //setInterval可一直执行内部函数
add();
i++ //若过一秒,执行一次i++
}, 1000);
if(i ==0){ //i=0时证明无长按事件为单击事件
add();
}
}
function add(){ //数字加1函数
if(input_num.value >= 18 ) {
input_num.value = 18;
}else {
input_num.value = parseInt(input_num.value) + 1;
}
}
num_jia.onmouseup = function () {//鼠标抬起,执行清除
clearInterval(mouseTime); //清除setInterval的时间
}
//减号按钮事件
num_jian.onmousedown = function () {
var i=0;
mouseTime = setInterval(function (){
minus();
i++ //i=0时证明无长按事件为单击事件
}, 1000); //1000即1秒
if(i ==0){
minus();
}
}
function minus(){
if(input_num.value <= 4) {
input_num.value = 4;
}else {
input_num.value = parseInt(input_num.value) - 1;
}
}
num_jian.onmouseup = function () {
clearInterval(mouseTime);
}
明天计划的事情:
继续完成js任务二
收获:
学习了洗牌算法,
其算法思想就是 从原始数组中随机抽取一个新的元素到新数组中
- 从还没处理的数组(假如还剩n个)中,产生一个[0, n]之间的随机数 random
- 从剩下的n个元素中把第 random 个元素取出到新数组中
- 删除原数组第random个元素
- 重复第 2 3 步直到所有元素取完
- 最终返回一个新的打乱的数组
var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; //创建一个数组a
var b = []; //创建一个空数组b
for (var i = 0; i < a.length; i++) {
var index = Math.floor(Math.random() * (a.length - i)); //创建一个随机数,第一轮在0~10之间,第二轮在0~9之间。假设为2
b.push(a[index]); //将a的第3个数值添加到b里
var center = a[index]; //定义变量center储存a的第三个值
a[index] = a[a.length - i - 1]; //将a的第三个值等于最后一个值
a[a.length - i - 1] = center; //将最后一个指等于储存的a的第三个值,相当于两个数值换了位置
}; //因为下一轮不会选中到它,所以相当于从a数组里删除,再向b添加数值
评论