已经解决
知道原因了。。。。
这不是让你看效果的吗?就是个例子而已
因为要支持跨浏览器,getElementsByClassName 在低版本IE浏览器中不被支持
“封装...事件,谁行谁用上”这一段代码中,if条件判断的括号里,将=改成 .
语法错误啦兄弟。if判断的地方以及后面有关于element 的地方都错了。比如if(element.addEventListener)你写成了if(element=addEventListener),element.attachEvent 你写成了element=attachEvent……
那是事件一起发现了,要做处理的
在冒泡阶段触发,也就是说该事件会先触发具体元素的事件,再触发他父级的事件,依次直到html
最新的IE浏览器用的是Edge内核 这些可以兼容了 视频中的IE旧版浏览器是不兼容的 望采纳
是的,我也是好久才发现是这个问题
是因为这个DOM没有查找呀
<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
可以执行呀。。
clientX是鼠标光标的坐标
offsetWidth是元素的宽度
你显示的 是<li> 标签的 HTML内容,可不是有HTML内容.
可以用正则去掉HTML标签,
function replaceHTML(html) { return html.replace(/<(?:[^"'>]*|"[^']*"|'[^"]*')*>/g, ''); }
像这样: title.innerHTML = this.innerHTML;
title.innerHTML = replaceHTML(this.innerHTML)
这个兼容是有些麻烦,
是你容器没有处理好
多加了半个括号!
DOM3级的时候,最好不要用匿名函数作为参数。
问题已解决,主要原因在于不同类型值的计算后导致disX值为NaN。
使用parseInt()方法把px类型转换成数值类型,可以修成错误。
false:这里表示使用时间冒泡机制 true:这里表示使用事件捕获机制
不可以,onfocus和onblur是输入框的事件。
你说的false是事件采用冒泡流,而不是采用捕获流
函数中的形参是局部变量,调用时值传递,与变量名无关
detachEvent是element的一个属性,属性值为一个function,如果浏览器不支持这个属性,那么值就是null或undefined,根据js隐式转换的规则,返回的就是false。这是一种最常见的浏览器能力监测方法。
eles.push() 里面的内容把引号去掉,你往字符串里push东西当然没有用了
<script>
window.onload=function(){
var login_btn=document.getElementById('login'),
login_box=document.getElementById('login_box'),
close=document.getElementById('close');
// 封装添加事件监听程序
function addEvent(ele,type,hander){
// 执行代码
if(ele.addEventListener) {
ele.addEventListener(type, hander, false);
} else if(ele.attachEvent) {
ele.attachEvent('on'+type, hander)
} else {
ele['on'+type]=hander;
}
}
// 显示登录层函数
function showLogin(){
// 执行代码
login_box.style.display='block';
}
// 隐藏登录层函数
function hideLogin(){
// 执行代码
login_box.style.display='none';
}
//点击登录按钮显示登录层
addEvent(login_btn, 'click', showLogin);
//点击关闭按钮隐藏登录层
addEvent(close, 'click', hideLogin);
}
</script>
这里的this相当于e.target或e.srcElement,自己给自己解答了,谢谢大家
没看懂你这是疑问句还是叙述句,onload事件是表示当页面所有资源加载完毕之后才执行事件内的函数体代码;所以外面也是可以放其他函数的