这两个鼠标事件有大部分代码重复,怎么才能合并重复代码呢?

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个回答

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');
            }
        }
    }
}

0

函数封装

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,isTrue) {
    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 (isTrue) {
            childNodes[0].classList.add('green-text');
        }else {
            childNodes[0].classList.remove('green-text');
        }
        if(childNodes.length>1){
            if (isTrue) {
                childNodes[1].classList.remove('dis-hide');
            }else {
                childNodes[1].classList.add('dis-hide');
            }
        }
    }
}
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
js代码重复?用原型
原型的概念:神秘对象针对构造函数称为“原型属性”,简称原型。function o(){};var p=new o();o.prototype叫做原型属性使用原型1),利用对象的动态特性       * 构造函数.prototype.xxx=vvv;2),利用直接替换   Student.prototype={      sayHello:function(){ },      study:func...
Java中TreeSet合并重复数据
TreeSet与HashSet之间的区别: TreeSet会自动按自然排序法给元素排序,相应的性能会差一点。而HashSet是根据元素的hashCode自动给元素排序的,如果我们不需要使用排序功能,则应该使用HashSet。 相应的使用TreeSet的对象需要实现Comparable接口,并重写compareTo方法。 [code="java"]package com.test; pu...
如何设计循环避免代码重复,提高代码复用性
提高代码复用性为维护性的方法有很多,比如继承,构造代码块,循环等等,本文讲的是循环。 当有很多类似的东西时,往往导致代码重复,量大,这时要想到用设计循环的方法来减少重复的代码。 为了成功地设计循环,往往需要用到数组。 例如:     要实例化1000个button,每个button上写着不同的字符串,不用循环就会很多重复代码,而且写起来很费时。     JButton bt1 = new
EXCEL数重复项
EXCEL可以删除重复项,那怎么数重复项呢
java将两个集合合并,去除重复
a.removeAll(b); a.addAll(b); 欢迎访问个人主页:https://18xm.cn/
android合并重复联系人功能
一个独立的apk,可以合并系统通讯录中名称相同的联系人,同时也可以集成到系统代码中作为系统联系人的一个新功能
xml相同代码的处理
XML布局很乱,代码超多,一写就是几百行,怎么办?老老实实的把重复的代码放style里.1.把相同的代码写在style里(style的名字自己定,我的是radio_button_four):<style name="radio_button_four"> <item name="android:drawablePadding">5dp</item> ...
合并两个文件,并且排除掉重复的内容
/** *说明:文本内容以换行为一组 */ import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; imp
动态sql 的优化,重复代码太多
将自己写的sql碎片化,尽力重复利用重复代码,wait 项目完总结
java模拟多重继承,且避免重复代码的方法
众所周知,java是一门不支持多重继承的语言,每当在java中谈及多重继承,人们都会说起接口。 然而一般理解之下,既然是接口,里面的方法是不能有具体实现的,顶多也就起到一个规范的作用嘛,这样岂不是还会造成代码的大量重复? 但是事实上并非如此,利用类的组合关系,即可很好地避免代码重复,同时也起到了代码的规范化,而类也在逻辑上实现了多重继承。 下面来举一个例子: 交通工具的基类:Vehicle
利用hash思想查找出现的重复字符
对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。 给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。 package sort8; public class  FindChar{     public static void main(String[] args) {         String s...
两个递增的有序链表合并为一个有序链表(表中不允许有重复数据)ps:第一次写博客,欢迎各位大神指点
#include<iostream> using namespace std; #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef int ElemType; typedef int Status; typedef struct LNode{ ElemType data; struct LNode *next; }LNo...
JS有很多重复模块重复代码
函数:把一些重复的代码封装在一个地方,在需要的时候直接调用这个地方的代码就可以了   比如在网站里,有很多弹出框都是一样的,JS部分也是一样的,只有一小部分是改变的,这种改变的地方变成函数的参数就可以了,重复的部分改写成函数。然后再调用函数名字就好了。这样会减少复制粘贴代码   函数作用:代码重用,封装...
meta-data合并相同name元素
编写程序时无意中遇到一个问题, 因为是引入的sdk,所以在定义和引入meta-data时只能用一个name值,但是对应的value值有很多,网上搜索后发现没有对应的解决办法,自己摸索,解决方案如下: 定义了两个相同name值的meta-data,编译会报错 修改后如下:
这段代码怎么有重复的?
if PhotoUrlID>0 thenrn SavePath = PhotoSaveUpFilesPath2 '存放上传文件的目录rn elsern SavePath = PhotoSaveUpFilesPath2 '存放上传文件的目录rn end ifrn if right(SavePath,1)<>"/" then SavePath=SavePath&"/" '在目录后加(/)rn rn for each formName in upload.file '列出所有上传了的文件rn set ofile=upload.file(formName) '生成一个文件对象rn oFileSize=ofile.filesizern if oFileSize<100 thenrn msg="请先选择你要上传的文件!"rn FoundErr=Truern elsern select case PhotoUrlIDrn case 0 rn if oFileSize>(PhotoMaxFileSize*1024) thenrn msg="文件大小超过了限制,最大只能上传" & CStr(PhotoMaxFileSize) & "K的文件!"rn FoundErr=truern end ifrn case 1rn if oFileSize>(200*1024) thenrn msg="文件大小超过了限制,最大只能上传200K的文件!"rn FoundErr=truern end ifrn case 2 rn if oFileSize>(PhotoMaxFileSize*1024) thenrn msg="文件大小超过了限制,最大只能上传" & CStr(PhotoMaxFileSize) & "K的文件!"rn FoundErr=truern end ifrn case 3rn if oFileSize>(nAllowSize*1024) thenrn msg="此文件大小为"&cstr(round(oFileSize/1024))&"K,超过了限制,最大只能上传" & CStr(nAllowSize) & "K的文件!"rn FoundErr=truern end ifrn rn end select rn end ifrnrn fileExt=lcase(ofile.FileExt)rn arrUpFileType=split(UpFileType,"|")rn for i=0 to ubound(arrUpFileType)rn if fileEXT=trim(arrUpFileType(i)) thenrn EnableUpload=truern exit forrn end ifrn nextrn if fileEXT="asp" or fileEXT="asa" or fileEXT="aspx" thenrn EnableUpload=falsern end ifrn if EnableUpload=false thenrn msg="这种文件类型不允许上传!\n\n只允许上传这几种文件类型:" & UpFileTypern FoundErr=truern end ifrn rn rn strJS="
如何利用git从远程下载代码并自动合并整合代码(为什么会提示覆盖错误,文件重复)
1.初始化git2.连接远程代码库(下面红线为地址)3.查看分支4.0查看文件状态是否在暂存区5.0依次把文件加入暂存区,不加入重复文件会提示写出冲突6.0然后写注释(引号为任意值)7.直接pull下代码(有些情况会出错误版本问题)8.直接增加以下值...
IDEA 关闭代码重复提示下划线
setting 下 查找 duplicated code去掉勾就好。
去除IntelliJ IDEA中重复代码报灰黄色的下划波浪线
去除IntelliJ IDEA中重复代码报灰黄色的下划波浪线  最近写Java在用IntelliJ IDEA这款传说中的神器IDE,看群里的大神们都在用,也耐不住寂寞想向大神们看齐一下。刚开始用,很多地方也不是很熟,今天遇到一个问题,导入一个项目后,看有些类里的代码下面老是报一些灰黄色的下划波浪线,也不是报错,但是,像我这种有代码洁癖的人 ……*),心里总是感觉不舒服,怎么办呢,百度了一下,原来...
芯片数据分析步骤7 合并重复探针
合并重复探针 合并探针的原因 为了避免非特异性结合等干扰因素影响实验结果,芯片厂商往往采取多个探针检测同一基因表达的策略,从而导致注释探针后发现许多探针被注释为同一个基因。但在后续的分析中,程序往往不能接受表达矩阵中存在多个探针对应同一基因。因此,在进行后续分析之前,我们需要选取一个标准,对被注释为同一基因的探针进行合并。唯一要注意的是,要在过滤后再合并重复探针。 合并重复探针的方法...
消除idea中重复代码下的波浪线提示
在 setting 里搜索 inspections -- General -- Duplicated Code ,取消右侧勾选。apply,OK。
idea设置提示重复代码下去掉波浪线
1.一般idea都不会导入包。即使按了(以下都是已eclipse设置idea的快捷键) alt+enter键也不能导入. 2.关闭重复代码提示(也就是重复代码有波浪线)
多个txt合并后,去掉重复的行数
将多个TXT文件合并成一个文本文件,并且可以自动过滤掉重复的行数。
java如何合并两个数组,同时使合并的数组中不包含重复的元素
  原理:利用TreeSet有序且不重复的特点
重复工作到底有没有意义
我知道这是一个老生常谈的话题,但当我们离这个时代的中心越来越近的时候,也许就会越来越恐慌。它的更新换代,它层出不穷的新概念,新产品,都让跟不上脚步的人多少有些无所适从。更可怕的是,事实上在很早的时候就有人提出创新,才是企业生命力的来源。渐渐地,创新这个词走入更多领域。 而作为普通的员工,我们比以前更加难以企口问一句话:重复工作还有没有意义?假如我现在的工作就是日复一日的重复劳动,没有创新
JDBC:提取重复代码进行重构
当我们在写 JDBC 代码连接数据库进行交互的时候,因为要写很多个增删改查的方法,有很多代码是重复的,而且这些代码必须但又不是主要业务,所以会造成代码的冗余,不利于后期的维护。所以我们必须把相同的代码抽取出来形成一个方法,在需要的时候直接调用这个方法就行了。那么在这中我们可以抽取四份不同的重复代码形成四个方法:1. 数据库的连接 每次进行对数据库的增删改查,都需要先连接数据库,所以我们可以把连接
JSP重复代码多怎么办
1.利用静态加载 类似于代码的引入2.动态加载 运行后,对运行后的html文档做合并
合并数组且去除重复
合并数组和去除重复: 用到的concat()、filter()、reduce() 、indexOf()等方法 在使用这些方法的时候,需要特别注意的是:分清楚filter()、reduce()、map()三个方法;查看了相关的手册,简单的记录一下相关的返回情况,更多内容,请查看对应的手册: 1). map(): 返回值:一个新数组,其结果是该数组中每个元素都调用一个提供的回调函数后返回的
HTML TBLE表格重复内容列合并javascript方法
先贴出来javascript代码  setInterval(function AutoMerge() { if ($('.table tbody tr').eq(0).data('mergetd') == undefined) { var date = ''; var start = 0; var end = 0; $('.
IDEA关闭代码重复下划线的方法
setting-&gt;Editor-&gt;Inspections-&gt;general-&gt;duplicated code 去掉√。
合并两个有序数组,数组中包含有重复元素
有两个有序数组,数组是排序的,但是中间有重复元素,比如 int array1[] = { -1, 1, 1, 2, 3, 4, 10, 10 }; int array2[] = { -1, 3, 5, 6, 7, 8, 8 };将这连个数组进行合并为一个数组。    //测试两个有序数组的合并 数组中有重复的元素 vector&amp;lt;int&amp;gt; mergeArray(vector&amp;l...
Python 列表中多个字典合并重复项
Python 列表中多个字典合并重复项 data = [{'dates': 24, 'list_num': 1, 'rigist_num': 1, 'submit_num': 0, 'through_num': 0, 'loan_num': 0}, {'dates': 11, 'list_num': 1, 'rigist_num': 0, 'submit_num': 0, 'thr...
2个查询sql语句结果合并,去除重复。关键字 union
格式:[sql语句一]  union [sql语句二] 效果:2个结果集合并成一个,并去除重复行 要求:2个语句查询的结果字段一致,类型一致   记一下,避免忘记
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。 equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。
IDEA重复代码提示
本身是一个不错的功能,为了减少一定量的重复代码,提醒开发人员注意,但是如果有时几行代码的重复没必要扔到一个统一的地方处理,这是总是提醒,干扰视线。这里根据个人习惯,还是关闭这个功能比较好。
代码优化:将重复代码封装成函数(2)
代码优化:将重复代码封装成函数
SVN多次合并代码遇到的问题
前言: 因着公司开发环境区分多个,开发,测试,预生产,生产,所以每次合并代码都会遇到一些问题。 问题1: 合并代码之后,出现合并错误,点击稍后解决冲突之后,然后删除掉合并的代码。重新拉取出现一个,无法合并的问题。 重新再次合并的时候,就一直会出现这个 而且拉取之后的文件夹也一直会出现一个红色感叹号。之后clean up 也没用。 猜测点: 怀疑是SVN合并之后会在本地文件保存...
解决问题:含有重复key的json字串转化jsonObject,使得重复的key元素的部分,合并为数组形式
场景: 字串 :{“scheduler”:[{“type”:“fairScheduler”}],“scheduler”:{“type”:“faier”}} 经转化------&amp;gt; 目标 :{“scheduler”:[{“type”:“fairScheduler”},{“type”:“faier”}]} 难点: 普通的jsonObject类,如com.fasterxml.jackson.da...
pandas 找出重复行并且取均值后合并
应用场景 选择铝一段时间的出厂价来进行比较,由于同一天可能有多家厂家给出报价,所以需要找出同一天有多家报价的情况,并且合并为一条数据,价格取各家价格的平均值。 import pymongo,pandas as pd from bson import ObjectId conn=pymongo.MongoClient() cursor=conn.bulk...
通过js合并表格重复出现的数据
通过js合并表格相邻的重复的单元格
关于oracle重复数据合并以及.前面加0问题的解决
这段时间这做网站,其中用到Echars的一些方法,这就涉及到从oracle数据库中获取数据,于是就用到orcale的一些查询的方法,其中这个让重复数据合并的方法十分有用,于是想这这里分享出来,供大家参考。 下面先看看数据库的数据:     可以看到其中年份是重复的,我想把相同年份的RDTRQD和JSLY合并,代码如下: select year, wmsys.wm_concat(RDTRQ...