问答详情
源自:3-2 最基本的JS写法--JS的第一次尝试

为什么我不点击,移开鼠标的时候不会回到初始化的状态??

为什么我不点击,移开鼠标的时候不会回到初始化的状态??

提问者:慕丝0963956 2017-09-01 11:39

个回答

  • 水_目
    2017-09-14 00:45:36

    你的这个问题的出现,应该在鼠标移除事件上面,在鼠标移除的时候,如果没有点击则全局变量num的值没有变化,将num在赋给函数

  • qq_一个人的路上_0
    2017-09-01 17:56:51

    我写的 可以借鉴下

        var num=2;

    //li 元素绑定多个事件 按顺序依次触发

    $('li').on('click mouseover mouseout',function (e) {

        if(e.type=='mouseover'){

             var num1=$(this).index()+1;

             light(num1);//这里的变量不能是全局变量

         }else if (e.type=='click') {

             num=$(this).index()+1;

             light(num);//这个一定要是全局已经定义的变量

         }else if (e.type=='mouseout') {

            $('li').css('background-position','0 0')

         };//鼠标移开先全部清除

         light(num);//再传入已经更新的num值 这样鼠标点击的效果就还在

     });


    var light=function (num) {

        $('li').each(function (index) {

             if(index<num){

            $(this).css('background-position','0 -68px');

             };

         })

      };

      light(num);//先调用一次 放在最后 light函数要先加载



  • qq_一个人的路上_0
    2017-09-01 17:47:20

    你用的jquery还是?monse事件已经生效了 背景图片已经变了 不同于css的hover,鼠标移开hover也没了