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

两个function如何合并成一个function

两个function如何合并成一个function

芜湖不芜 2019-03-26 14:10:59
两个如何合并成一个?function rightClick(){        index -= imgCount;            if(index < 0)    {        index = 0;        return;        }    document.getElementById("img1").setAttribute('src', imgs[(index)%3]);    document.getElementById("img2").setAttribute('src', imgs[(index + 1)%3]);    document.getElementById("img3").setAttribute('src', imgs[(index+2)%3]);}function leftClick(){    index += imgCount;    if(index > imgs.length){        index = imgs.length;        return;    }    document.getElementById("img1").setAttribute('src', imgs[(index)%3]);    document.getElementById("img2").setAttribute('src', imgs[(index +1)%3]);    document.getElementById("img3").setAttribute('src', imgs[(index+2)%3]);    }
查看完整描述

3 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

/**

 * type left或者right

 * 

 * @param {any} type 

 * @returns 

 */

function setImage(type){

    if(type=='left'){

        index += imgCount;

        if (index > imgs.length) {

            index = imgs.length;

            return;

        }

    }else if(type=='right'){

        index -= imgCount;

        if (index < 0) {

            index = 0;

            return;

        }

    }

    document.getElementById("img1").setAttribute('src', imgs[(index) % 3]);

    document.getElementById("img2").setAttribute('src', imgs[(index + 1) % 3]);

    document.getElementById("img3").setAttribute('src', imgs[(index + 2) % 3]);

}

setImage('left')或者setImage('right')


查看完整回答
反对 回复 2019-03-26
?
阿晨1998

TA贡献2037条经验 获得超6个赞

条件判断呗


function leftClick(){   // 至于判断是左边右边元素 可以通过event 或者某些属性什么的

    if(点击的是左边元素){

     //左边的代码执行

    }

    if(点击的是右边元素){

     //右边的代码执行

    }

    document.getElementById("img1").setAttribute('src', imgs[(index)%3]);

    document.getElementById("img2").setAttribute('src', imgs[(index +1)%3]);

    document.getElementById("img3").setAttribute('src', imgs[(index+2)%3]);

    

}


查看完整回答
反对 回复 2019-03-26
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

function的话是可以增加参数的,hhh发现这个点之后很多方法都可以整合到一个function里面(当然啦,前提还是要根据业务划分啦)

这里面你的两个click其实做的事情是差不多,完全可以在调用的时候传个参用于标记是leftClick还是rightClick.

综上:


function click(flag){

    // flag传入1则是leftClick

    if (flag) {

        index += imgCount;

        if(index > imgs.length){

            index = imgs.length;

            return;

        }

    }else{     // flag传入0则是rightClick

       index -= imgCount;

        if(index < 0)

        {

            index = 0;

            return;

        } 

    }

    document.getElementById("img1").setAttribute('src', imgs[(index)%3]);

    document.getElementById("img2").setAttribute('src', imgs[(index +1)%3]);

    document.getElementById("img3").setAttribute('src', imgs[(index+2)%3]); 

}


查看完整回答
反对 回复 2019-03-26
  • 3 回答
  • 0 关注
  • 886 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信