连续两个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');
^^此行应复制到moveLeft
和moveRight
函数的开头。