为了账号安全,请及时绑定邮箱和手机立即绑定

我找到老师代码问题了

问题出现在'tab_1','tab_2'的mouseout事件上。当你把这两个事件取消掉,就不会出现选择其中一个元素,在菜单栏出现空白的情况。

http://img1.sycdn.imooc.com//58ee64110001926b08983350.jpg

正在回答

3 回答

然而你的click事件有问题

0 回复 有任何疑惑可以回复我~
#1

咖啡学者 提问者

什么问题?我测试时候没发现什么不良问题。
2017-04-24 回复 有任何疑惑可以回复我~
#2

MHarvay

点击完宝贝的时候,还是会触发mouseover事件,不严谨
2019-01-04 回复 有任何疑惑可以回复我~

老师的代码有冲突。冲突是在mouseout事件上。因为当选择'tab_2'时候,触发click事件,当你把鼠标移开的时候就触发了mouseout事件。mouseout事件会把'tab_2'的class给取消掉了,所以会出现空白情况。解决办法就是把mouseout事件给去掉。

1 回复 有任何疑惑可以回复我~
<script >
var getDOM = function(id){
return document.getElementById(id);
};
var addEvent = function(id,event,fn){
var el = getDOM(id) || document;
if(el.addEventListener){
el.addEventListener(event,fn,false); 
}else if(el.attachEvent){
el.attachEvent('on'+event,fn);
}
};
//展开ul元素选项
addEvent('search_tab','mouseover',function(){
this.className += ' trigger-hover';
});
//光标选项
addEvent('tab_1','mouseover',function(){
if(this.className.indexOf('selected')<0){
this.className += ' selected';
getDOM('tab_2').className='';
}
});
/*addEvent('tab_1','mouseout',function(){
this.className = '';//取消光标选择
});*/
addEvent('tab_2','mouseover',function(){
if(this.className.indexOf('selected')<0){
this.className += ' selected';
getDOM('tab_1').className='';
}
}); 
/*addEvent('tab_2','mouseout',function(){
this.className = '';//取消光标选择
});*/
addEvent('tab_1','click',function(){
getDOM('search_tab').className= 'search-list';
});
addEvent('tab_2','click',function(){
getDOM('search_tab').className = 'search-list';
});


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
搜索框制作
  • 参与学习       65999    人
  • 解答问题       463    个

本课程从简入深讲解搜索框的制作,学习JQ与JS实现Ajax技术的不同点

进入课程

我找到老师代码问题了

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号