window.onload = function(){
var hdList = $('.hd-list')[0],
hdLi = $('.hd-list>li');
hdList.onmouseover = function(e){
var ev = e || window.event,
target = ev.target || ev.srcElement,
tagName = target.nodeName.toLowerCase();
if(tagName!='ul'){
while (target.nodeName.toLowerCase()!='li'){
target = target.parentNode;
}
clearBlankNodes(target);
var childNodes = target.childNodes;
childNodes[0].classList.add('green-text');
if(childNodes.length>1){
childNodes[1].classList.remove('dis-hide');
}
}
}
hdList.onmouseout = function(e){
var ev = e || window.event,
target = ev.target || ev.srcElement,
tagName = target.nodeName.toLowerCase();
if(tagName!='ul'){
while (target.nodeName.toLowerCase()!='li'){
target = target.parentNode;
}
clearBlankNodes(target);
var childNodes = target.childNodes;
childNodes[0].classList.remove('green-text');
if(childNodes.length>1){
childNodes[1].classList.add('dis-hide');
}
}
}
}
这两个鼠标事件有大部分代码重复,怎么才能合并重复代码呢?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答
- 天际的海浪 2018-11-22 13:57关注
window.onload = function() { var hdList = $('.hd-list')[0], hdLi = $('.hd-list>li'); hdList.onmouseover = function(e) { hover(e,true); } hdList.onmouseout = function(e) { hover(e,false); } function hover(e,flag) { var ev = e || window.event, target = ev.target || ev.srcElement, tagName = target.nodeName.toLowerCase(); if (tagName != 'ul') { while (target.nodeName.toLowerCase() != 'li') { target = target.parentNode; } clearBlankNodes(target); var childNodes = target.childNodes; if (flag) childNodes[0].classList.add('green-text'); else childNodes[0].classList.remove('green-text'); if (childNodes.length > 1) { if (flag) childNodes[1].classList.add('dis-hide'); else childNodes[1].classList.remove('dis-hide'); } } } }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记