小案例,来源京东搜索框,搜索框中的内容每隔一段时间默认的东西会变化;
知识储备,下面有一个知识点要是不会就做不出来
- 随机生成函数
- 定时器-setInterval
- dom操作属性
setAttribut("a","b");
把a变成b
- 随机生成函数模板
用来随机生成[left, right]区间内的一个数,两个都是闭区间
function getRandom(left, right) {
if (left > right) [left, right] = [right, left];
return Math.floor(Math.random() * (right - left + 1) + left);
}
2.定时器的用法
setInterval(function() {}, 时间);
每个一段事件,执行回调函数中的内容;时间以毫秒为单位,例如:
setInterval(function() {
console.log("每隔1s中就输出一次");
}, 1000);
函数也可以传入一个名字,代替中间的函数内容;以上内容等价于下面的内容
function show() {
console.log("每隔1s中就输出一次");
}
setInterval(show, 1000);
3、dom操作属性 setAttribute("a","b")
将a修改成b;
所以,将所有的待搜索的值放到一个数组中去,每次随机生成一个下标,对应数组中的值,将这个值代替找到input标签里面的placeholder值,然后利用定时器,动态的改变
<input type="text" placeholder="hahhah">
<script>
let hotwords = ["你好", "米饭", "jaj", "d", "jjsjs", "hshdf", "基本功", "ipad"];
// 随机生成函数
function getRandom(left, right) {
if (left > right)[left, right] = [right, left];
return Math.floor(Math.random() * (right - left + 1) + left);
}
function show() {
let inputs = document.querySelector("input");
inputs.setAttribute("placeholder", hotwords[getRandom(0, hotwords.length - 1)]);
}
setInterval(show, 1000);
</script>
当时菜的一批,不会做,现在看来,真简单~