连续两个if语句不起作用

时间:2015-01-28 20:24:55

标签: jquery

我想在使用键盘的同时创建一个带有if语句的滑块,左右,上下。

我认为解决方案是if语句,但是当我点击n箭头键时,两个动画都开始了。

$(document).ready(function () {

  var content_left = $('.content').css('left');



function moveLeft() {

   if (content_left = "-100vw") { 
   console.log(content_left);
       $('.content').animate({
            left: "0vw"
        }, 1000);
    }

  if (content_left = "-200vw") { 
    console.log(content_left);
       $('.content').animate({
            left: "-100vw"
        }, 1000);
    }

    };



function moveRight() {


  if (content_left = "0vw") { 
       $('.content').animate({
            left: "-100vw"
        }, 100);
    }

 if (content_left = "-100vw") { 
    console.log(content_left);
       $('.content').animate({
            left: "-200vw"
        }, 100);
    }

    };


$(document).keydown(function(e){
    if (e.keyCode == 39) { 
       moveRight();
       return false;
    }

   if (e.keyCode == 37) { 
       moveLeft();
       return false;
    }
    });

 });

这是一个带有此问题的codepen的链接:

CODE PEN

(只有左右 - 但你可以看到问题所在)

1 个答案:

答案 0 :(得分:4)

if (content_left = "-100vw") { 

您在此处设置值而不是测试它。请改用=====。其余if语句也是如此。

您还使用了过时的content_left值。

  var content_left = $('.content').css('left');

^^此行应复制到moveLeftmoveRight函数的开头。