连续两个if语句无法正常工作

我想在使用键盘的同时使用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的链接:

代码笔

(只有左右 – 但你可以看到问题是什么)

 if (content_left = "-100vw") { 

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

您还使用了过时的content_left值。

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

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