<body><div class='title'>开始抽奖啦!</div> <div class='btns' ><button class='start'>开 始</button> <button class='stop'>结 束</button></div> <script> var data=['红米','白米','小米','大米','黑米','恭喜抽中骚猪','谢谢惠顾']; window.onload=function(){var start=document.getElementsByClassName('start'); var stop=document.getElementsByClassName('stop'); var title=document.getElementsByClassName('title'); start[0].onclick=function(){function timer(){var random=Math.floor(Math.random()*data.length); console.log(random); title[0].innerHTML=data[random];}setInterval(timer,50);}} </script> </body> 你注意看getElementsByClassName中间有s,它是一个对象集合。上述是改过之后的代码,你可以继续写完stop
timer那个闭包函数写的有问题
换个浏览器试试,谷歌,360,火狐都能打开,搜狗好像有bug打不开
第38行 应该是play.onclick,你写成了onlick,少了个c。
39行同理
因为浮动了,就可以对他设置宽高了
在css权威指南里的解释是:
此外,浮动元素会生成一个块级框,而不论这个元素本身是什么。因此,如果让一个链接浮动,即使该链接元素本身是行内元素,通常会生成一个行内框,但只要它是浮动的,就会生成一个块级框,它会像块级元素一样摆放和表现。
兄弟试试 vscode 蛮好用的(免费 轻量 插件多 容易找 微软开发) webstorm也行啊 实在不爽 记事本也不错啊
客气啦 我什么都没帮上呢
class的title是css的样式,
id的title是js用于获取div的id为title的元素.
也有同感,不过最好自己实践做出来效果最好了。
'num' + i,是文本拼接,所以得到的是字符串。
为什么不把num0, num1, num2, num3, num4一开始就定义成数组呢?
视频里老师也有讲的,其实都可以实现的,功能可以一样,只是方法不同而已。可能用span的话修饰起来更直观。
就是你可能没保存好,刷新也没有用,有些编程软件好像需要重新退出打开。你下次可以直接找到文件夹重新打开html文件。而且一般用placeholder比较好吧,输入的时候还要把value删掉体验很不好诶
直接百度搜索,上官网下呗,中文版可以装一个language的插件,可以百度到的
是不是浏览器不兼容
margin:0 auto;是使块在浏览器页面中居中;
text-align:center;是使文本在所在的块内居中
在head里加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
因为span不是块级元素,添加一条样式display:block,应该就可以了
onkeydown + onkeyup 等价于 一次 onkeypress
贴下代码上来比较容易找到问题;
一个是把playFun函数赋值给onclick事件,一个是把playFun函数的执行结果给了onclick事件
id是唯一的,不能重复的
firefox和ie都可以啊
你在HTML文件中引用JS文件的时候标签闭合写成style了。
这样做逻辑上没有意义吧,你是想键盘敲和鼠标点同时发生来触发事件??
乱码一般都是你编的文件编码和浏览器解码不匹配,你把文件打开--另存为--文件编码--选择utf-8就可以了
var data = ['iphone5', 'ipad', '佳能单反', '迪拜双人游', '巴厘岛三人游', '科颜氏套装', 'NewBalance复古鞋'], timer = null; window.onload = function(){ var title = document.getElementById('title'), play = document.getElementById('play'), stop = document.getElementById('stop'); // 开始抽奖 play.onclick = playFun; // 停止 stop.onclick = stopFun; } function playFun(){ timer = setInterval(function(){ // 随机 var random = Math.floor(Math.random() * data.length); title.innerHTML = data[random]; }, 50); } function stopFun(){ clearInterval(timer); title.innerHTML = data[0];//每次停止时都显示iphone5 }
js文件如上。不知道你是不是这个意思
基础的东西永远都不会过时
理论上是一样的,但是rand 随机数时间越长,随机的数目才越靠谱
window.onload执行的是一个函数 函数里声明是局部变量不是全局变量,如果在window.onload外声明,就好像data那样声明就是全局变量,就能调用。